0
我正在嘗試編寫一個小型Python腳本,它將從數據庫中獲取查詢結果,將它們寫入文件,然後將該文件sftp到不同的服務器。這些部分工作得很好,但在寫入文件後立即嘗試sftp文件時出現奇怪的錯誤。Python/Paramiko寫入文件時出現SFTP錯誤
我得到的錯誤是
File "/usr/lib/python2.4/site-packages/paramiko/sftp_client.py", line 558, in put
file_size = os.stat(localpath).st_size
TypeError: coercing to Unicode: need string or buffer, file found
問題的代碼行只是
sftp.put(outputfile, sftpoutputfile)
我使用輸出文件,而不是多數民衆贊成被寫在一個副本嘗試腳本並且完全按照它應該的那樣工作。在寫入文件之後(並在設置sftp之前),我打電話給file.close()
,這樣看起來該文件應該在此之後關閉並可用。有人能告訴我我做錯了什麼嗎?如果這會有所幫助,我可以發佈更多的代碼。非常感謝你。
啊,我明白了 - 寫信給它使其成爲一個文件而不是一個字符串。我一直在做太多的PHP。非常感謝您的快速響應。 – moexu 2011-12-20 00:58:30