以下是一个遍历子目录并删除具有重复md5哈希值的文件的示例代码:
import os
import hashlib
def find_duplicate_files(directory):
# 存储已经遍历过的文件的md5哈希值
seen_hashes = {}
# 存储具有重复md5哈希值的文件路径
duplicate_files = []
# 遍历目录及其子目录
for root, dirs, files in os.walk(directory):
for file in files:
path = os.path.join(root, file)
# 计算文件的md5哈希值
with open(path, 'rb') as f:
file_hash = hashlib.md5(f.read()).hexdigest()
# 检查是否已经存在具有相同md5哈希值的文件
if file_hash in seen_hashes:
duplicate_files.append(path)
else:
seen_hashes[file_hash] = path
return duplicate_files
def remove_duplicate_files(directory):
duplicate_files = find_duplicate_files(directory)
for file in duplicate_files:
os.remove(file)
print(f"删除文件: {file}")
if __name__ == "__main__":
directory = "/path/to/directory" # 替换为要遍历的目录路径
remove_duplicate_files(directory)
请注意,上述示例代码仅适用于Python编程语言。在运行代码之前,请将/path/to/directory
替换为要遍历的目录路径。此代码将遍历指定目录及其所有子目录,并删除具有相同md5哈希值的文件。要删除文件,可以使用os.remove()
函数,该函数接受文件路径作为参数。