对于未来找到这个线程的人,我想分享我的解决方案。我在Python包索引(PyPI)上发布了一个名为的软件包。它使用python-xmp-toolkit进行基本的XMP主题字段标签编辑,但将实际使用python-xmp-toolkit的所有令人沮丧的无聊部分抽象为一行命令。
安装exempi
到您的平台,然后运行。
python3 -m pip install imgtag
现在您可以像这样使用它:
from imgtag import ImgTag
# Open image for tag editing
test = ImgTag(
filename="test.jpg", # The image file
force_case="lower", # Converts the case of all tags
# Can be `None`, `"lower"`, `"upper"`
# Default: None
strip=True, # Strips whitespace from the ends of all tags
# Default: True
no_duplicates=True # Removes all duplicate tags (case sensitive)
# Default: True
)
# Print existing tags
print("Current tags:")
for tag in test.get_tags():
print(" Tag:", tag)
# Add tags
test.add_tags(["sleepy", "happy"])
# Remove tags
test.remove_tags(["cute"])
# Set tags, removing all existing tags
test.set_tags(["dog", "good boy"])
# Save changes and close file
test.close()
# Re-open for tag editing
test.open()
# Remove all tags
test.clear_tags()
# Delete the ImgTag object, automatically saving and closing the file
del(test)
我还没有为其他 XMP 字段(如描述、日期、创建者等)添加方法。也许有一天我会,但如果你看看现有函数的工作方式 在源代码中,你可能可以自己添加方法。如果你添加了更多的方法,请提一个 pull 请求。 :)