根据所描述的行为,我假设文件由某些服务器端进程上传后不久就被删除了。
默认情况下
pysftp.Connection.put,通过检查目标文件的大小来验证上传。如果服务器端进程设法过快地删除文件,则读取文件大小将失败。
您可以通过将
/confirm/i参数设置为来禁用上传后检查
False:
self.sftp.put(localpath=self.filepath+filename, remotepath=filename, confirm=False)
我相信无论如何该检查都是多余的,请参阅
如何在SFTP文件传输期间执行校验和以确保数据完整性?
有关Paramiko(pysftp在内部使用)的类似问题,请参见:如果SFTP服务器已触发在上传时自动移动文件,则Paramiko的
[put方法将引发“ [Errno 2]文件未找到””
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)