Python可以通过比较文件的md5值或者sha1值来判断两个文件是否相同。如果两个文件的md5或sha1值一样,那么这两个文件内容就相同,反之则不同。在Python中可以使用hashlib库来计算文件的md5和sha1值。下面是判断两个文件是否相同的示例代码:
import hashlib
def get_file_md5(file_path):
'''计算文件的md5值'''
md5_hash = hashlib.md5()
with open(file_path, 'rb') as f:
while True:
data = f.read(8192)
if not data:
break
md5_hash.update(data)
return md5_hash.hexdigest()
file1 = 'path/to/file1'
file2 = 'path/to/file2'
md5_1 = get_file_md5(file1)
md5_2 = get_file_md5(file2)
if md5_1 == md5_2:
print('两个文件相同')
else:
print('两个文件不同')
如果要判断两个文本文件是否有相同的行或字符串,可以使用set的交集运算来进行筛选。下面是两个文本进行相同项筛选的示例代码:
file1 = 'path/to/file1'
file2 = 'path/to/file2'
with open(file1, 'r') as f1, open(file2, 'r') as f2:
lines1 = set(f1.readlines())
lines2 = set(f2.readlines())
common_lines = lines1 & lines2
if common_lines:
print('两个文本有相同的行:')
for line in common_lines:
print(line.strip())
else:
print('两个文本没有相同的行')
注意每行最后都有一个换行符,可能会导致交集结果不准确,需要使用strip方法去掉。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python判断两个文件是否相同与两个文本进行相同项筛选的方法 - Python技术站