检查两个文件夹内部文件是否重复并提取的python代码同时也要检查文件夹内部的文件夹里的文件
你可以使用Python的os模块来遍历文件夹和文件,并使用hashlib模块来计算文件的哈希值,以判断文件是否重复。以下是一个示例代码:
import os
import hashlib
def get_file_hash(filename):
# 读取文件内容并计算哈希值
with open(filename, 'rb') as f:
data = f.read()
file_hash = hashlib.md5(data).hexdigest()
return file_hash
def check_duplicate_files(folder1, folder2):
# 遍历文件夹内的文件并计算哈希值
file_hash_dict = {}
for folder in [folder1, folder2]:
for root, dirs, files in os.walk(folder):
for file in files:
file_path = os.path.join(root, file)
file_hash = get_file_hash(file_path)
# 如果哈希值已存在,则说明文件重复
if file_hash in file_hash_dict:
print(f"文件重复:{file_path}")
print(f"重复文件路径:{file_hash_dict[file_hash]}")
else:
file_hash_dict[file_hash] = file_path
if __name__ == "__main__":
folder1 = "path/to/folder1"
folder2 = "path/to/folder2"
check_duplicate_files(folder1, folder2)
这段代码会遍历folder1和folder2两个文件夹内的文件,并计算每个文件的哈希值,然后将哈希值和文件路径存储在一个字典中。如果发现哈希值已经存在于字典中,则说明文件重复,会打印出重复文件的路径。
请将folder1和folder2替换为你要检查的文件夹的路径
原文地址: https://www.cveoy.top/t/topic/hMvI 著作权归作者所有。请勿转载和采集!