我有一个脚本可以下载很多相当大(20MB +)的文件。我希望能够检查我本地的副本是否与远程版本相同。我意识到我可以使用日期修改和长度的组合,但是有什么更准确的我可以使用(也可以通过paramiko),我可以使用它来确保这一点?理想情况下是某种校验和?
我应该补充一点,远程系统是Windows,我只有SFTP访问权限,没有shell访问权限。
答案 0 :(得分:0)
我遇到了类似的情况。我目前采取的解决方案是使用 item.st_size for item in sftp.listdir_attr(remote_dir)
来比较远程文件的大小和使用 os.path.getsize(local_file)
的本地文件的大小。当两个文件大约为 1MB 或更小时,此解决方案很好。但是,可能会发生奇怪的事情:当文件在 10MB 左右或更大时,两者的大小可能会略有不同,例如,一个是 10000 Byte,另一个是 10003 Byte。