Подтвердите операцию SFTP Put - PullRequest
0 голосов
/ 27 июня 2019

Я использую pysftp 0.2.8 для размещения файлов на удаленном хосте SFTP.Я хочу добавить проверку для подтверждения того, что файл был помещен на удаленный хост SFTP.

Функция put на объекте pysftp.Connection вызовет следующие ошибки

IOError - если remotepath нетСуществуют
OSError - если localpath не существует

pysftp API Doc

Так что это не соответствует тому, чего я пытаюсь достичь.

Сейчас я проверяю, сравнивая размер st_size локального файла с размером st_size удаленного файла, но это не кажется правильным.

local_file_size  = os.stat(processed_file).st_size        
remote_file_size = sftp.put(processed_file, confirm=True).st_size
   if remote_file_attributes.st_size != local_file_attributes.st_size:
      raise Exception('Discrepency between local file and remote file sizes. File might not have transferred, or only partially transferred.')

Является ли это надежным средством проверкиесли файл был передан?Есть ли основания подозревать, что файл может быть отключен на байт или более, если он был успешно передан?

...