gpt4 book ai didi

python - [Python]比较两个zip文件的功能,一个位于FTP目录,另一个在我的本地机器上

转载 作者:行者123 更新时间:2023-12-03 20:34:55 25 4
gpt4 key购买 nike

我在创建比较两个 zip 文件的函数时遇到问题(如果它们相同,不仅按名称)。这是我的代码示例:

def validate_zip_files(self):
host = '192.168.0.1'
port = 2323
username = '123'
password = '123'
ftp = FTP()
ftp.connect(host, port)
ftp.login(username,password)
ftp.cwd('test')
print ftp.pwd()
ftp.retrbinary('RETR test', open('test.zip', 'wb').write)
file1=open('test.zip', 'wb')
file2=open('/home/user/file/text.zip', 'wb')
return filecmp.cmp(file1, file2, shallow=True)

问题之一是第二个 zip 位于不同的位置('/home/user/file/text.zip'),我正在我的 python 脚本所在的目录中下载 zip 文件。我不是 100% 确定 filecmp.cmp 可以与 .zip 文件一起使用。

任何想法都会很棒:) 谢谢。

最佳答案

我不会直接比较文件,而是继续比较文件的散列值。这消除了 filecmp 的依赖性,这可能 - 正如你所说 - 不适用于压缩文件。

import hashlib

def compare_files(a,b):
fileA = hashlib.sha256(open(a, 'rb').read()).digest()
fileB = hashlib.sha256(open(b, 'rb').read()).digest()
if fileA == fileB:
return True
else:
return False

关于python - [Python]比较两个zip文件的功能,一个位于FTP目录,另一个在我的本地机器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31027268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com