帮我用python写一个对比文件是否一致的代码
时间: 2023-08-28 10:08:56 浏览: 30
可以使用Python内置的文件操作和hashlib模块实现。具体步骤如下:
1. 打开两个文件,并逐行读取文件内容
2. 对每行内容进行hash计算,并将结果存储到两个列表中
3. 比较两个列表是否一致
下面是示例代码:
```python
import hashlib
def file_hash(filename):
"""计算文件的hash值"""
with open(filename, 'rb') as f:
content = f.read()
md5 = hashlib.md5()
md5.update(content)
return md5.hexdigest()
def compare_files(file1, file2):
"""比较两个文件是否一致"""
hash1 = []
hash2 = []
with open(file1, 'r') as f1, open(file2, 'r') as f2:
for line in f1:
hash1.append(file_hash(line.strip().encode()))
for line in f2:
hash2.append(file_hash(line.strip().encode()))
return hash1 == hash2
# 测试
if __name__ == '__main__':
file1 = 'file1.txt'
file2 = 'file2.txt'
if compare_files(file1, file2):
print('文件一致')
else:
print('文件不一致')
```
注意:此代码假设文件内容为文本格式,并且每行以换行符结束。如果文件内容为二进制格式或者每行结束符不同,需要进行相应的修改。