Ich muss Fotos nach Aufnahmedatum extrahieren und organisieren. Windows 10, Python 2.7. Ich hatte, dies zu tunPython EXIF kann Datum Informationen nicht finden, aber wenn Viewer durch Windows-Eigenschaften
from PIL import Image
def get_date_taken(path):
return Image.open(path)._getexif()[36867]
folgende:
Get date and time when photo was taken from EXIF data using PIL
und das funktioniert gut für ein paar Fotos.
Großen. Jetzt eine andere Reihe von Bildern, neue Kamera, die Eigenschaften ähnlich aussehen.
aber die dict ist völlig anders
Image.open(image)._getexif()[36867]
Traceback (most recent call last):
Debug Probe, prompt 369, line 1
KeyError: 36867
Image.open(image)._getexif()
{36864: '0220', 37121: '\x01\x02\x03\x00', 40962: 2048, 40963: 1536, 40960: '0100', 40961: 1, 296: 2, 34665: 90, 34855: 1600, 531: 2, 282: (72, 1), 283: (72, 1), 37500: '\x01\xf1\x03\x00\x03\x00\x00\x00\x11 ....
Ich versuchte exifread zu
a=exifread.process_file(open(image,'rb'))
a.keys()
['EXIF MakerNote', 'Image ExifOffset', 'EXIF ExposureTime', 'EXIF ComponentsConfiguration', 'Image YCbCrPositioning', 'Image XResolution', 'EXIF FlashPixVersion', 'EXIF ISOSpeedRatings', 'Image YResolution', 'EXIF ColorSpace', 'EXIF ExifImageLength', 'EXIF ExifVersion', 'Image ResolutionUnit', 'EXIF ExifImageWidth']
aber kein Datum genommen. Was ist Windows lesen, dass Python nicht ist? Irgendwelche Vorschläge darüber, was ich sonst noch versuchen sollte, muss ich mich plattformübergreifend sorgen? Gleiche Frage wie hier:
aber in Python. Dieser freundliche Online-Metadaten-Viewer
http://exif.regex.info/exif.cgi
schlägt beiden Bilder Datum erstellt Tags in exif haben. Wie sonst kann man auf sie zugreifen?
Eine Probe problematische Bild ist here
Mit Ihrer testdat und exifread ich ' 'EXIF Aufnahmedatum': (0x9003) ASCII = 2012: 08: 19 16.44.38 @ 368' als einer der Tags zurückgegeben. py3.5 und ExifRead-2.1.2. – MatsLindh
interessant, gleiche exifread-Version, andere Python-Version. Wird testen. – bw4sz