有没有一种方法可以在PyExifTool中将元数据写入图像?

时间:2018-12-21 07:17:44

标签: python image-processing metadata gis exiftool

我使用了 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

1 个答案:

答案 0 :(得分:1)

execute() 方法需要字节作为输入并且您正在传递字符串。这就是它失败的原因。

在您的情况下,代码应如下所示:

import exiftool
filename = b"/home/radha/src.JPG"
with exiftool.ExifTool() as et:
    et.execute(b"-tagsFromFile",  filename , b"dst.JPG")

请找到 this 答案作为参考。