多个文件夹中可能存在命名相同、内容却不同的文件,怎么办
你可以用最笨的方法,利用导航栏搜索窗格,一个个搜
花费时间不说,你还需要知道文件夹中所有的文件名
所以,还是借用程序吧
import os
# 将文件夹中所有的文件名存入一个list
def file_name(file_dir):
a = []
for roots, dirs, files in os.walk(file_dir): # 注意这里一定要加 roots,否则报错
b = dirs # 当前路径下所有子目录
a.extend(b)
c = files # 当前路径下所有非目录子文件
a.extend(c)
return a
file_list = file_name(r'C:\\Users\Desktop\\图片')
file_set_list = list(set(file_list)) # 利用set中元素不能重复的特性
file_dic = {}
# 看集合中的元素在list里重复几次,存入一个dic,key是文件名,value是重复次数
for i in file_set_list:
count = 0
for m in file_list:
if i == m:
count += 1
file_dic[i] = count
# 获取存在重复的文件名
for key in file_dic:
if file_dic[key] > 1:
print(key)
以上代码是查找“图片”这个文件夹中命名重复的文件,我的“图片”文件下还有很多文件夹,每个文件夹下都是我要寻找的是否重复的子目录。
当然,以上代码只是小试牛刀,还有许多地方需要完善。
例如:
1.可以将代码封装进函数,调用时只用输入需要查找重复命名文件所在的文件夹路径;
2.我不知道如果“图片”下既有文件夹,又包含文件,这段代码是否适用;
3.没有实现将重复的文件重命名后另存入一个单独文件夹;
以上未实现功能以后再试吧