У меня есть куча изображений, которые я планирую использовать для чего-то, и было бы очень полезно, если бы я мог отсортировать их все, указав теги, которые может читать скрипт Python. Я пробовал несколько методов от this StackOverflow post, но ни один из них не возвратил нужные мне данные. Вот что я пытался:Python - Как перечислить теги из jpg EXIF данных?
from PIL import Image
import PIL.ExifTags
import exifread
dir = "C:\directory\\"
image = "image_name.jpg"
image_dir = dir + image
img = Image.open(image_dir)
#Attempt 1 - using PIL
exif_data = img._getexif()
print(exif_data)
#Attempt 2 - using exifread
f = open(image_dir)
tags = exifread.process_file(f)
print(tags)
#Attemp 3 - using PIL
exif = {
PIL.ExifTags.TAGS[k]: v
for k, v in img._getexif().items()
if k in PIL.ExifTags.TAGS
}
print(exif)
Результаты немного длинный и грязный (попытка 1 возвращается очень длинный словарь с кучей повторять «\ x00 \», так что я не буду оставлять, что здесь):
- Покушение 2 -
{'Image XPKeywords': (0x9C9E) Byte=[] @ 30, 'EXIF Padding': (0xEA1C) Undefined=[] @ 2128, 'Image ExifOffset': (0x8769) Long=2110 @ 18, 'Image Padding': (0xEA1C) Undefined=[] @ 50}
- Покушение 3 -
{'ExifOffset': 2110, 'XPKeywords': 'e\x00x\x00a\x00m\x00p\x00l\x00e\x00;\x00t\x00e\x00s\x00t\x00\x00\x00'}
сами метки "пример" и "тест". Любые советы о том, что я могу сделать по-другому?