Est-il possible d'ajouter des données IPTC à un JPG en utilisant python lorsqu'aucun ces données existent déjà?
Question
Avec le module IPTCInfo sous Python ( http://snippets.dzone.com/posts/ afficher / 768 pour plus d'info) il est possible de lire, de modifier et d'écrire des informations IPTC aux images.
Cependant, si un JPG ne dispose déjà d'informations IPTC, le module soulève simplement une exception. Il ne semble pas être en mesure de créer et d'ajouter ces informations de métadonnées lui-même.
Quelles sont les alternatives? J'ai googlé pour la dernière heure, mais sans résultat que ce soit.
La solution
Essayez pyexiv2. Il est un wrapper de exiv2, la bibliothèque de métadonnées d'image C ++ (EXIF, IPTC, XMP) sous licence GPL. Il fonctionne très bien.
Autres conseils
option Utiliser force=True
lors de la création objet IPTCInfo
. Ensuite, les données IPTC seront écrits, même si elle est manquante dans le fichier d'origine.
info = IPTCInfo(input_file, force=True, inp_charset='utf8')
A partir de la documentation dans le fichier source:
Si la force == Il est vrai que les forces d'un objet à retourner toujours. Cette vous permet de commencer à ajouter des choses à des fichiers qui ne sont pas d'info IPTC puis enregistrez-le.