0
我使用Python和的paramiko讀取使用SFTP一些文件的新結果/日誌文件。得到工作正常。當我完成文件的處理時,我想將一個文件彙總到結果中。爲了做到這一點,我寧願不必先在本地保存文件;我有一個結果字典,我只是想在sftp服務器上創建一個文件來放入。下面是我的代碼,我希望所有相關位和無關部分爲了可讀性而被刪除。創建使用的paramiko和SFTP
注意,我成功地讀取文件並進行處理,並創建結果的字典,沒有問題,我可以把它打印到我的終端,當我運行csv_import。當我嘗試添加結果字典到同一個sftp服務器上的文件的最後一步時,它會永遠掛起。任何幫助表示讚賞。
def csv_import():
we_are_live = True
host = "111.111.111.111"
port = 22
password = "cleverpwd"
username = "cleverun"
t = paramiko.Transport((host,port))
t.connect(username=username, password=password)
if we_are_live and t.is_authenticated():
sftp = paramiko.SFTPClient.from_transport(t)
sftp.chdir('.'+settings.REMOTE_SFTP_DIRECTORY)
files_to_pick_from = sftp.listdir()
…file processing code happens here, get back a dictionary of the results...
results_file_name = 'results'+client_file_name
results_file = paramiko.SFTPClient.from_transport(t)
results_file.file(results_file_name,mode='w',bufsize=-1)
results_file.write(str(sftp_results_of_import))
results_file.close()
t.close()
代碼示例幫助,謝謝!沒有最終使用StringIO,但它也看起來很有價值。非常感激。 – rossdavidh