hashlib 是 Python 标准库中的一个模块,提供了多种哈希算法,如 MD5、SHA1、SHA256 等。哈希算法可以将任意长度的二进制数据转换为固定长度的哈希值,通常用于验证数据的完整性和加密等场景。可以使用 hashlib 模块来计算文件的哈希值,以便于比较文件内容是否相同。
import os
import hashlib
def get_file_hash(file_path):
"""
获取文件的哈希值
"""
with open(file_path, 'rb') as f:
file_hash = hashlib.md5(f.read()).hexdigest()
return file_hash
def delete_duplicate_files(dir_path):
"""
删除重复的文件
"""
file_hash_dict = {}
for root, dirs, files in os.walk(dir_path):
for file_name in files:
file_path = os.path.join(root, file_name)
if '_' in file_name:
file_prefix = file_name.split('_')[0]
if file_prefix.isdigit():
file_hash = get_file_hash(file_path)
if file_hash in file_hash_dict:
os.remove(file_path)
else:
file_hash_dict[file_hash] = file_path
if __name__ == '__main__':
delete_duplicate_files('E:\dbx')