هل من الممكن إضافة بيانات IPTC إلى JPG باستخدام Python عندما لا توجد مثل هذه البيانات بالفعل؟
سؤال
مع وحدة iptcinfo تحت Python (http://snippets.dzone.com/posts/show/768 لمزيد من المعلومات) من الممكن قراءة معلومات IPTC وتعديلها وكتابةها إلى الصور.
ومع ذلك ، إذا لم يكن لدى JPG معلومات IPTC بالفعل ، فإن الوحدة النمطية تثير الاستثناء ببساطة. لا يبدو أنه قادر على إنشاء وإضافة معلومات البيانات الوصفية نفسها.
ما هي البدائل الموجودة؟ لقد غوغل خلال الساعة الماضية ولكن دون جدوى على الإطلاق.
المحلول
جرب pyexiv2. إنه غلاف من AXIV2 ، Metadata C ++ Picture (EXIF ، IPTC ، XMP) مرخصة بموجب GPL. إنه يعمل بشكل جيد.
نصائح أخرى
يستخدم force=True
الخيار عند الإنشاء IPTCInfo
هدف. ثم سيتم كتابة بيانات IPTC حتى لو كانت مفقودة في الملف الأصلي.
info = IPTCInfo(input_file, force=True, inp_charset='utf8')
من المستندات في الملف المصدر:
إذا كانت القوة == صحيحة ، من قبر كائن على أن يتم إرجاعه دائمًا. يتيح لك ذلك البدء في إضافة أشياء إلى الملفات التي لا تحتوي على معلومات IPTC ثم حفظها.