用python写一段循环读取两个文件夹中的gz文件,并验证两个文件夹中的同名gz文件的md5值是否相同,并打印结果
时间: 2024-04-12 11:27:32 浏览: 150
java使用计算md5校验码方式比较两个文件是否相同
当然可以!以下是使用Python编写的示例代码,用于循环读取两个文件夹中的.gz文件,并验证它们的MD5值是否相同:
```python
import os
import hashlib
def calculate_md5(file_path):
with open(file_path, 'rb') as f:
data = f.read()
md5_hash = hashlib.md5(data).hexdigest()
return md5_hash
def compare_md5(folder1, folder2):
files1 = os.listdir(folder1)
files2 = os.listdir(folder2)
common_files = set(files1) & set(files2)
for file_name in common_files:
file_path1 = os.path.join(folder1, file_name)
file_path2 = os.path.join(folder2, file_name)
if file_name.endswith('.gz') and os.path.isfile(file_path1) and os.path.isfile(file_path2):
md5_1 = calculate_md5(file_path1)
md5_2 = calculate_md5(file_path2)
if md5_1 == md5_2:
print(f"MD5 match: {file_name}")
else:
print(f"MD5 mismatch: {file_name}")
# 请将下面的路径替换为你实际的文件夹路径
folder1 = '/path/to/folder1'
folder2 = '/path/to/folder2'
compare_md5(folder1, folder2)
```
请将`/path/to/folder1`和`/path/to/folder2`替换为实际的文件夹路径。这段代码会遍历两个文件夹中的文件,找到同名的.gz文件,并计算它们的MD5值进行比较。如果MD5值相同,则打印"MD5 match: 文件名",否则打印"MD5 mismatch: 文件名"。
阅读全文