我有以下问题:我有一个本地.zip文件和一个.zip位于服务器上的文件。我需要检查.zip服务器上的文件是否不同于本地文件;如果不是,我需要从服务器中拉出新的。我的问题是如何比较它们而不从服务器下载文件并在本地比较它们?
.zip
创建文件时,我可以在服务器上为zip文件创建MD5哈希.zip,然后将其与本地.zip文件的MD5进行比较,但是有没有更简单的方法?
简短的回答:不能。
长答案:要与服务器上的zip文件进行比较,必须有人读取该文件。您可以在本地执行此操作(这涉及将其拉出),也可以要求服务器为您执行此操作。您可以在服务器上运行代码吗?
如果可以在服务器上运行Python,为什么不对文件进行哈希处理并比较哈希?
import hashlib with open( <path-to-file>, "rb" ) as theFile: m = hashlib.md5( ) for line in theFile: m.update( line ) with open( <path-to-hashfile>, "wb" ) as theFile: theFile.write( m.digest( ) )
然后将的内容hashfile与本地生成的哈希进行比较?
hashfile
您要求一种更简单的方法。暂时以抽象的方式考虑一下:
因此,您需要进行某种哈希处理。鉴于此,我认为上述内容非常简单。