验证SFTP放置操作

时间:2019-06-27 19:34:46

标签: python python-3.x pysftp

我正在使用pysftp 0.2.8将文件放在远程SFTP主机上。我想添加验证以确认文件已放在远程SFTP主机上。

pysftp.Connection对象上的put函数将引发以下错误

IOError –如果远程路径不存在
OSError –如果本地路径不存在

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.')

这是检查文件是否已传输的可靠方法吗?如果文件传输成功,是否有任何理由怀疑该文件可能丢失一个字节或更多?

0 个答案:

没有答案