我使用 ExifTool 的“-tagsFromFile”从命令行将 Exif 元数据从源图像复制到目标图像。我想在 python 脚本中做同样的事情,这就是我了解 PyExifTool 的时候。但是,我没有找到任何复制或写入目标图像的命令。我错过了什么吗?有什么办法可以解决这个问题吗?
我找到了user5008949对类似question的回答建议这样做:
import exiftool
filename = '/home/radha/src.JPG'
with exiftool.ExifTool() as et:
et.execute("-tagsFromFile", filename , "dst.JPG")
但是,它给了我以下错误:
Traceback (most recent call last):
File "metadata.py", line 9, in <module>
et.execute("-tagsFromFile", filename , "dst.JPG")
File "/home/radha/venv/lib/python3.6/site-packages/exiftool.py", line 221, in execute
self._process.stdin.write(b"\n".join(params + (b"-execute\n",)))
TypeError: sequence item 0: expected a bytes-like object, str found
最佳答案
execute()
方法需要字节作为输入,并且您正在传递字符串。这就是它失败的原因。
在您的情况下,代码应如下所示:
import exiftool
filename = b"/home/radha/src.JPG"
with exiftool.ExifTool() as et:
et.execute(b"-tagsFromFile", filename , b"dst.JPG")
请查找this回答作为引用。
关于python - PyExifTool 是否有一种将元数据写入图像的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53880668/