我没有真正找到任何适合我需求的东西,也不知道如何继续。
我有很多照片,分散在不同的文件夹中,而其中许多只是重复的。例如:
20180514.jpg(1(.jpg
20180514.jpg
或
220180514(1(jpg
现在,我想创建一个python脚本,它查找带括号的文件,检查是否存在不带括号的相关文件,并删除带括号的该文件。由于我缺乏python技能,我设法搜索到了所有带有通配符的文件:
parenthesisList = glob.glob('**/*(*)*', recursive=True)
理论上可以从那里删除它们,但有了3万多张图片,我不敢直接删除它们,不知道它们是否真的有原始文件。
现在棘手的部分是将该列表与另一个列表进行比较,后者类似于:
everythingList = glob.glob('**/*(*)*', recursive=True)
和要评估,中的哪个文件parenthesisList
有一个文件,除了括号外,其他名称都相同。
额外的一点是,如果文件大小相同或更小,只删除文件,但真的不需要。谢谢你的帮助!
编辑:我的帖子听起来像是想让人帮我做,但如果不清楚,我的问题是:你如何检查列表A中的项目是否包含列表A减去"("的项目?
from os import listdir
for filename in listdir(r"C:Users...Pictures"):
# check if file name contains parenthesis
if "(" in filename:
os.remove(r"C:Users...Pictures\" + filename)
注意,这也将删除带有"的文件夹名称;(".