以下是一个Python程序,可以实现目录遍历,并检查每个目录下是否有重复文件。如果存在重复文件,程序将保留其中一个文件,并删除其他重复文件。

import os
import hashlib

#计算文件的MD5值
def md5(file):
    hash_md5 = hashlib.md5()
    with open(file, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
    return hash_md5.hexdigest()

#遍历目录下的所有文件
def traverse_dir(directory):
    files_dict = {}
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            file_md5 = md5(file_path)
            if file_md5 in files_dict:
                print("重复文件: ", file_path)
                os.remove(file_path)
            else:
                files_dict[file_md5] = file_path

#测试
if __name__ == '__main__':
    traverse_dir("/path/to/directory")

在上面的代码中,我们使用了Python内置的hashlib模块来计算每个文件的MD5值,并将MD5值作为字典的键,文件路径作为值来存储每个文件。如果在遍历过程中发现重复的文件,则删除该文件。

python语言进行目录遍历检查每一个目录下是否有重复的文件删除重复的文件只保留1个

原文地址: https://www.cveoy.top/t/topic/bPi3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录