我有一个python dict,它有三个键“image1”、“image2”和“similarity”。dict是从duplicate-image-finder生成的,因此image1&2 dict值由一个文件夹位置字符串组成,看起来与此类似。你知道吗
../../Amazon Drive/Tony Leaving Do Nov 2018/IMG_20181108_185110.jpg
文件夹结构示例:
我正在使用日期时间.strtime测试文件夹是否以<month> <year>
结尾,因为我可能希望在这些文件夹中保留图像。我的计划是复制包含“ToSort”的文件夹中存在的图像,而不必手动检查每个副本。下面的工作,但感觉有点笨重。有更好的办法吗?你知道吗
我的验证功能
def validate_date(data):
try:
datetime.strptime(data[0] + ' ' + data[1], '%b %Y')
except ValueError:
pass
else:
return True
try:
datetime.strptime(data[0] + ' ' + data[1], '%B %Y')
except ValueError:
pass
else:
return True
return False
函数调用
if images_list["similarity"] == 100:
# Get date from folder name
f1_date = images_list["image1"].split("/")[-2].split(" ")[-2:]
img1_folder_valid = validate_date(f1_date)
if img1_folder_valid is True and "ToSort" or "WhatsApp - Various" in images_list["image2"]:
print("Adding {} to deletion list\n".format(images_list["image2"]))
to_delete.add(images_list["image2"])
之后,我使用PIL库打开每个文件进行手动比较。然后使用while True
循环询问要保留哪个文件。与其这样做,是否存在一个好的选择器功能,可以显示缩略图,并允许选择一个图像?你知道吗
可以使用
glob
列出路径后面的所有文件夹。 这样可以避免对同一文件夹进行两次检查。你知道吗然后你可以查名字。你知道吗
然后,实现该函数的一种更具可读性的方法是使用路径作为输入。你知道吗
编辑 validate函数可以稍微重新构造,但除非您能够确保try/catch blocs的strtime格式正确,否则:
相关问题 更多 >
编程相关推荐