欢迎访问宙启技术站
智能推送

在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("两个文件不同")

需要注意的是,这个函数只是用来判断两个文件是否相同,而不是用来比较两个文件的内容是否完全一致。因为不同的文件可能会有相同的哈希值(哈希冲突),所以两个文件的哈希值相同,并不是绝对证明它们的内容完全一致。但是在实际应用中,哈希值完全相同的概率非常小,可以认为它们的内容相同的概率非常高。