Я пытаюсь написать скрипт, который проведет oop через большое количество изображений и напишет новые теги xmp на основе определенных критериев.
Я использую pyexiv2
для чтения и изменения тега 'Xmp.dc.subject'
.
Я могу назначить новый набор тегов для изображения и с помощью pyexiv2.read_xmp()
проверить мои Результаты показывают, что новый набор тегов заменил старый набор тегов, как и ожидалось. Однако, когда я проверяю свойства в windows проводнике или другом менеджере фотографий, старые теги остаются в дополнение к новому набору тегов.
см. Мой код ниже
from pyexiv2 import Image
path=some_path
img=Image(path)
tags=img.read_xmp()
tags.get('Xmp.dc.subject') ####outputs list of tags ['old_tag1', 'old_tag2', 'old_tag3']
newtags=['new_tag1','new_tag2']
dict1={'Xmp.dc.subject':newtags}
img.modify_xmp(dict1)
img.close()
Сейчас , когда я открываю свойства файла в Проводнике или проверяю в программном обеспечении менеджера фотографий, теги этого файла ['old_tag1', 'old_tag2', 'old_tag3','new_tag1','new_tag2']
. Ожидаемое поведение, описанное в руководстве pyexiv2
, заключается в том, что новый список тегов будет заменять старые теги.
Я пытался использовать py3exiv2
, но у меня проблемы с эта библиотека из-за ошибки, ссылающейся на Microsoft Visual Studio. Есть ли способ достичь моего результата в идеале, используя pyexiv2
, или в качестве альтернативы, используя любой другой метод?