Ist es möglich, IPTC-Daten in JPG mit Python, wenn keine solche Daten bereits vorhanden hinzufügen?
Frage
Mit dem IPTCInfo Modul unter Python ( http://snippets.dzone.com/posts/ anzeigen / 768 für weitere Informationen), ist es möglich, lesen, ändern und schreiben IPTC Informationen zu Bildern.
Wenn jedoch ein JPG nicht bereits IPTC-Informationen haben, stellt sich das Modul einfach eine Ausnahme. Es ist nicht in der Lage sein scheint, um diese Metadaten-Informationen selbst zu erstellen und hinzuzufügen.
Welche Alternativen gibt es? Ich habe für die vergangene Stunde googeln, aber ohne Erfolg überhaupt.
Lösung
Versuchen pyexiv2. Es ist ein Wrapper von exiv2, die C ++ Bild Metadaten (EXIF, IPTC, XMP) Bibliothek unter der GPL lizenziert. Es funktioniert ziemlich gut.
Andere Tipps
Verwenden force=True
Option beim Erstellen IPTCInfo
Objekts. Dann werden IPTC-Daten geschrieben werden, selbst wenn es in der Originaldatei fehlt.
info = IPTCInfo(input_file, force=True, inp_charset='utf8')
Von der Dokumentation in der Quelldatei:
Wenn Kraft == wahr, als Kräfte ein Objekt immer zurückgegeben werden. Dies ermöglicht es Ihnen, Sachen zu Hinzufügen von Dateien zu starten, die IPTC-Informationen nicht haben und speichern Sie es.