使用Python3修改JPG图片metadata、EXIF及版权信息方法咨询
批量修改JPG元数据/EXIF/版权信息的可行方案
方案一:Python脚本实现(兼容你此前遇到的piexif报错问题)
你此前遇到的KeyError: 'Exif'报错,核心原因是部分JPG图片本身没有内置EXIF数据块,直接读取EXIF字段就会抛出异常,添加兼容判断即可解决,完整可运行脚本如下:
import os import piexif from PIL import Image # 按需修改下方配置参数 IMG_DIR = "替换为你的JPG图片所在文件夹路径" # 要写入的版权信息,可自定义 COPYRIGHT_CONTENT = "Copyright 2024 你的版权所有方名称" # 如需修改作者、拍摄时间等其他EXIF字段,可自行添加对应配置 for file_name in os.listdir(IMG_DIR): # 仅处理JPG格式文件 if file_name.lower().endswith((".jpg", ".jpeg")): full_path = os.path.join(IMG_DIR, file_name) img = Image.open(full_path) # 兼容无EXIF的情况,不存在则初始化空EXIF结构 try: exif_data = piexif.load(img.info.get("exif", b"")) except: exif_data = { "0th": {}, "Exif": {}, "GPS": {}, "1st": {}, "thumbnail": None } # 写入版权信息 exif_data["0th"][piexif.ImageIFD.Copyright] = COPYRIGHT_CONTENT # 导出为EXIF字节流并保存图片 exif_bytes = piexif.dump(exif_data) img.save(full_path, exif=exif_bytes, quality="keep") print(f"已完成处理:{file_name}")
- 注意事项:运行脚本前请先备份原图,避免误操作导致数据丢失;其他EXIF字段的修改可参考piexif官方的字段对应表自行添加逻辑。
方案二:无代码工具方案
如果不想编写脚本,可直接使用成熟的本地元数据修改工具:
- ExifTool:跨平台开源命令行工具,无需配置环境,单条命令即可完成批量修改。修改版权信息的命令示例:
exiftool -overwrite_original -Copyright="你的自定义版权内容" 图片文件夹路径/*.jpg,支持所有常见元数据字段的批量增删改。 - XnView MP:免费图形化工具,批量选中目标图片后,进入「批量转换」→「元数据」选项卡,即可可视化配置要修改的EXIF、版权等信息,操作门槛低,适合不熟悉命令行的用户。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

