2011-12-01 82 views
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() 

回答