我正在尝试编写一个脚本,该脚本将遍历大量图像并根据某些标准编写新的 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
有没有一种方法可以理想地使用,或者使用任何其他方法来实现我的结果?