查看2015年link关于如何使用PyExifTool写入Exif标头的帖子。我试了一下:
import exiftool
fileno=r'DSC00001.JPG
with exiftool.ExifTool() as et:
et.execute("EXIF:GPSLongitude=100",fileno)
et.execute("EXIF:GPSLatitude=100",fileno)
作为回应,我收到以下错误:
TypeError: sequence item 0: expected a bytes-like object, str found
然后在documentation中指定,执行取字节命令,所以我咬了,所以我也试过了:
with exiftool.ExifTool() as et:
et.execute(bytes("EXIF:GPSLongitude=100", 'utf-8'),fileno)
et.execute(bytes("EXIF:GPSLatitude=50",'utf-8'),fileno)
但仍然有同样的错误:
TypeError: sequence item 1: expected a bytes-like object, str found
我不确定我做错了什么,如果Exiftool可以写入文件。
问题是execute
方法是低级的,并且需要字节作为传递的参数和文件名的输入。试试这个:
import exiftool
pic = b"DSC00001.JPG"
with exiftool.ExifTool() as et:
et.execute(b"-GPSLatitude=11.1", pic)
tag = et.get_tag("EXIF:GPSLatitude", pic)
print(tag)