Ich habe eine Reihe von Bildern, die ich für etwas verwenden möchte, und es wäre sehr hilfreich, wenn ich sie alle sortieren könnte, indem ich ihnen Tags gebe, die ein Python-Skript lesen kann. Ich habe ein paar Methoden aus this StackOverflow post versucht, aber keiner von ihnen gibt die Daten zurück, die ich brauche. Hier ist, was ich versucht habe:Python - Wie Tags aus jpg EXIF-Daten auflisten?
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)
Die Ergebnisse sind ein bisschen lang und chaotisch (Versuch 1 kehrt ein sehr langer Wörterbuch mit einem Bündel von sich wiederholend „\ x00 \“ so werde ich nicht schreiben, dass hier):
- Versuch 2-
{'Image XPKeywords': (0x9C9E) Byte=[] @ 30, 'EXIF Padding': (0xEA1C) Undefined=[] @ 2128, 'Image ExifOffset': (0x8769) Long=2110 @ 18, 'Image Padding': (0xEA1C) Undefined=[] @ 50}
- Versuch 3 -
{'ExifOffset': 2110, 'XPKeywords': 'e\x00x\x00a\x00m\x00p\x00l\x00e\x00;\x00t\x00e\x00s\x00t\x00\x00\x00'}
Die Tags selbst sind "Beispiel" und "Test". Irgendwelche Tipps, was ich anders machen kann?