首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyExifTool将exif数据写入exif头

使用PyExifTool将exif数据写入exif头
EN

Stack Overflow用户
提问于 2018-06-20 00:38:16
回答 2查看 1.5K关注 0票数 1

查看2015年链接上关于如何使用PyExifTool写入Exif头的帖子。我试过:

代码语言:javascript
复制
import exiftool
fileno=r'DSC00001.JPG
with exiftool.ExifTool() as et:
    et.execute("EXIF:GPSLongitude=100",fileno)
    et.execute("EXIF:GPSLatitude=100",fileno)

作为回应,我得到了以下错误:

代码语言:javascript
复制
TypeError: sequence item 0: expected a bytes-like object, str found

然后,按照文档中的指定,执行接收字节命令,所以我咬了一口,所以我也尝试了:

代码语言:javascript
复制
with exiftool.ExifTool() as et:
   et.execute(bytes("EXIF:GPSLongitude=100", 'utf-8'),fileno)
   et.execute(bytes("EXIF:GPSLatitude=50",'utf-8'),fileno)

但仍然有同样的错误:

代码语言:javascript
复制
TypeError: sequence item 1: expected a bytes-like object, str found

我不知道我做错了什么,以及如果Exiftool可以写到文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-14 20:48:31

代码语言:javascript
复制
#Gracias!

    exif = r'...\exiftool.exe'
    file=br"...\FRM_20220111_134802.JPG"
    
    with exiftool.ExifTool(exif) as et:
        et.execute(b"-DateTimeOriginal=2022:10:10 10:10:10", file)
        tag = et.get_tag("EXIF:DateTimeOriginal", file)
        ...

#RCM_Chile
票数 0
EN

Stack Overflow用户

发布于 2018-06-20 05:08:36

问题是,execute方法是低级别的,需要字节作为的输入,同时需要传递和文件名的参数。试试这个:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50938662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档