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