Я использую python и paramiko для чтения некоторых файлов с использованием sftp.Get работает нормально.Когда я закончу обработку файла, я хотел бы поместить файл, обобщающий результаты.Я бы предпочел не сохранять файл сначала локально, чтобы сделать это;У меня есть данные о результатах, я просто хочу создать файл на сервере 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()