python中基于pyexiv2实现修改JPEG文件的EXIF信息(以拍摄时间为例)

一、前言

最近在整理手机照片的时候发现一个问题,一些基于第三方app拍摄的照片不会生成EXIF信息,因而在基于拍摄时间整理照片的时候,这些照片没法按照正确的时间轴进行排序,但是发现app会将拍摄时间的数据记录在文件名中,因此想实现通过python来编辑EXIF信息。
经过查找资料发现,pyexiv2这个包可以实现这个功能。

二、安装pyexiv2

可以通过以下几种方式安装:
pyexiv2
pip install pyexiv2
点击链接下载

三、查看图片的EXIF信息

首先导入包,并通过Image模块打开图片。

import pyexiv2
from pyexiv2 import Image
test=Image('C:\\test.jpg')

通过read方法查看图片的EXIF信息。

>> test.read_exif()
{'Exif.Image.DateTime': '2019:06:23 19:45:17', 'Exif.Image.Artist': 'TEST', 'Exif.Image.Rating': '4', ...}

四、编辑图片的EXIF信息

通过modify函数进行修改。

>> _dict={'Exif.Image.DateTime': '2019:08:27 00:00:00', 'Exif.Image.Artist': ''}
>> test.modify_exif(_dict)
>> exif = test.read_exif()         # 再次读取文件
>> exif["Exif.Image.DateTime"]
'2019:08:27 00:00:00'           # 时间已经被修改了
>> exif["Exif.Image.Artist"]
KeyError: 'Exif.Image.Artist'          # 该信息已经被删除了

在图片属性中查看修改结果
在Windows的属性中可以看到修改后的信息

五、总结

自此,已经实现通过python来修改照片的EXIF信息,接下来的需要完成的就是识别文件名并且将其转化为EXIF中的拍摄时间日期。

六、参考资料

python解析照片拍摄时间和地点信息
python使用pyexiv2库修改jpg文件的属性信息(如GPS信息)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值