Python 代码:遍历目录并删除重复文件 (保留最短文件名)
Python 代码:遍历目录并删除重复文件 (保留最短文件名)
该代码实现遍历指定目录,检查每个目录下是否有重复的文件,并删除重复的文件,只保留文件名最短的1个。
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')
代码解释:
- 函数
remove_duplicate_files(directory)接收目录路径作为参数。 - 使用
os.walk()遍历目录中的所有文件。 - 使用字典
files_dict存储每个文件名及其对应的路径。 - 如果遇到同名文件,则比较文件名长度,保留长度最短的文件,删除其他重复文件。
- 使用
os.remove()删除重复的文件。
示例使用:
将 'path/to/directory' 替换为需要检查的实际目录路径即可。
注意:
- 该代码仅保留每个文件名最短的1个,如果有多个文件名长度相同,则只保留其中一个。
- 执行代码前请备份重要数据,避免误删文件。
原文地址: https://www.cveoy.top/t/topic/nfoo 著作权归作者所有。请勿转载和采集!