示例代码如下:

import os

def remove_duplicate_files(directory):
    """
    检查目录中是否有重复的文件,删除重复的文件只保留文件名最短1个
    """
    files_dict = {}  # 用字典存储每个文件名及其对应的路径
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            file_name = os.path.basename(file)
            if file_name not in files_dict:
                files_dict[file_name] = file_path
            else:
                # 如果已经有同名文件,则比较文件名长度,保留长度最短的文件
                if len(file_name) < len(os.path.basename(files_dict[file_name])):
                    os.remove(files_dict[file_name])
                    files_dict[file_name] = file_path
                else:
                    os.remove(file_path)

# 示例使用
remove_duplicate_files('path/to/directory')

该函数使用 os.walk() 遍历目录中的所有文件,使用字典 files_dict 存储每个文件名及其对应的路径。如果已经有同名文件,则比较文件名长度,保留长度最短的文件,删除其余重复文件。

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

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

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