我需要一个利用哈希值检查并提取两个文件夹内部所有重复文件的python代码
以下是一个利用哈希值检查并提取两个文件夹内部所有重复文件的Python代码示例:
import os
import hashlib
def get_file_hash(file_path):
# 计算文件的哈希值
with open(file_path, 'rb') as file:
data = file.read()
file_hash = hashlib.md5(data).hexdigest()
return file_hash
def find_duplicate_files(folder1, folder2):
# 获取文件夹内所有文件路径
files1 = [os.path.join(folder1, file) for file in os.listdir(folder1) if os.path.isfile(os.path.join(folder1, file))]
files2 = [os.path.join(folder2, file) for file in os.listdir(folder2) if os.path.isfile(os.path.join(folder2, file))]
# 对文件进行哈希值比较
hash_dict = {}
duplicate_files = []
for file in files1 + files2:
file_hash = get_file_hash(file)
if file_hash in hash_dict:
duplicate_files.append(file)
duplicate_files.append(hash_dict[file_hash])
else:
hash_dict[file_hash] = file
return duplicate_files
# 测试代码
folder1 = 'path/to/folder1'
folder2 = 'path/to/folder2'
duplicate_files = find_duplicate_files(folder1, folder2)
print('重复文件:')
for file in duplicate_files:
print(file)
在上述代码中,get_file_hash函数用于计算文件的哈希值。find_duplicate_files函数用于比较两个文件夹内的文件,并返回重复的文件路径列表。在测试代码中,将要比较的两个文件夹路径传递给find_duplicate_files函数,并打印出重复文件的路径。请将folder1和folder2变量替换为实际的文件夹路径
原文地址: https://www.cveoy.top/t/topic/hMwX 著作权归作者所有。请勿转载和采集!