在Python中如何判断两个文件是否相同的函数
发布时间:2023-06-05 16:00:03
在Python中,可以使用hashlib模块中的hash函数来计算文件的哈希值,并通过比较两个文件的哈希值来判断它们是否相同。以下是判断两个文件是否相同的函数的实现:
import hashlib
def is_same_file(file1, file2):
"""
判断两个文件是否相同
:param file1: 文件1的路径
:param file2: 文件2的路径
:return: True表示相同,False表示不同
"""
# 读取文件1的内容,并计算其哈希值
with open(file1, 'rb') as f1:
hash1 = hashlib.sha1(f1.read()).hexdigest()
# 读取文件2的内容,并计算其哈希值
with open(file2, 'rb') as f2:
hash2 = hashlib.sha1(f2.read()).hexdigest()
# 比较两个哈希值是否相同
if hash1 == hash2:
return True
else:
return False
使用这个函数非常简单,只需要提供两个文件的路径作为参数即可。如下面的示例代码所示:
if is_same_file('/path/to/file1', '/path/to/file2'):
print("两个文件相同")
else:
print("两个文件不同")
需要注意的是,这个函数只是用来判断两个文件是否相同,而不是用来比较两个文件的内容是否完全一致。因为不同的文件可能会有相同的哈希值(哈希冲突),所以两个文件的哈希值相同,并不是绝对证明它们的内容完全一致。但是在实际应用中,哈希值完全相同的概率非常小,可以认为它们的内容相同的概率非常高。
