问题描述
我真的没有找到适合我需要的任何东西,我不知道如何继续。
我有很多的照片,分散在不同的文件夹中,而其中许多只是重复的。例如:
20180514.jpg(1).jpg
20180514.jpg
或
20180514(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)
请注意,这也会删除带有“(”的文件夹名称。