У меня есть python dict, в котором есть три ключа 'image1', 'image2' и 'Подобие'. Диктовки были сгенерированы из duplicate-image-finder , поэтому значения dict для image1 & 2 состоят из строки расположения папки, которая выглядит примерно так:
../../Amazon Drive/Tony Leaving Do Nov 2018/IMG_20181108_185110.jpg
Пример структуры папок:
Я использую datetime.strptime, чтобы проверить, заканчиваются ли папки на <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
спросите, какой файл сохранить. Вместо того, чтобы делать это, существует ли хорошая функция выбора, которая может отображать миниатюру и позволяет выбирать изображение?