für mein Fotoarchiv möchte ich ein kleines Verwaltungsprogramm in Python erstellen.
Hierbei möchte ich auch die Attribute:
- Titel,
- Thema,
- Autor,
- Stichworte und
- Kommentare
lesen und ändern können.
Ich habe bereits mit dem Modul pyexiv2 Versuche unternommen.
Attribute lesen funktioniert. Leider funktioniert das Schreiben/Ändern in diese Dateiattribute nicht.
Die Durcharbeit des Tutorials führte auch nicht zum Erfolg.
Beim Lesen werden die o.g. Dateiattribute als Bytefolge ausgegeben, siehe Ausgabe
Code: Alles auswählen
<Exif.Image.XPTitle [Byte] = 84 0 101 0 115 0 116 0 95 0 84 0 105 0 116 0 101 0 108 0 0 0>
<Exif.Image.XPComment [Byte] = 84 0 101 0 115 0 116 0 95 0 75 0 111 0 109 0 109 0 101 0 110 0 116 0 97 0 114 0 0 0>
<Exif.Image.XPAuthor [Byte] = 84 0 101 0 115 0 116 0 95 0 65 0 117 0 116 0 111 0 114 0 0 0>
<Exif.Image.XPKeywords [Byte] = 84 0 101 0 115 0 116 0 95 0 83 0 116 0 105 0 99 0 104 0 119 0 111 0 114 0 116 0 0 0>
<Exif.Image.XPSubject [Byte] = 84 0 101 0 115 0 116 0 95 0 84 0 104 0 101 0 109 0 97 0 0 0>
bleiben die o.g. Attribute unverändert.
Mein Skript läuft ohne Fehlermeldung, d.h. das Schreiben in die Dateiattribute wird ignoriert.
Hier mein Quellcode:
Code: Alles auswählen
from pyexiv2 import ImageMetadata
inFile=r"Test_Image.jpg"
metadata = ImageMetadata(inFile)
metadata.read()
for x in metadata.exif_keys:
key=x
print metadata[key]
metadata['Exif.Image.XPTitle'].value="Bla Bla Bla" # funktioniert nicht
metadata.write()
Ich nutze Python 2.6 unter Windows XP.
Zugegeben, mein Python-Kenntnisstand bewegt sich noch auf dem Einsteigerniveau.
Für eine Lösung bin ich sehr dankbar.
Gruss Hein