`exifread` 是一个用于**读取**(而非编辑)图像 EXIF 元数据的 Python 库

📅 2026/7/13 21:57:36
`exifread` 是一个用于**读取**(而非编辑)图像 EXIF 元数据的 Python 库
exifread是一个用于读取而非编辑图像 EXIF 元数据的 Python 库它仅支持解析 JPEG/TIFF 文件中的 EXIF、GPS、Interop 等标签不具备写入或修改 EXIF 的功能。若需编辑 EXIF应使用其他支持写操作的工具例如✅推荐 EXIF 编辑工具Pythonpiexif专为读写 JPEG/TIFF EXIF 设计支持增删改 EXIF、GPS、Interop 等段兼容性好。exiftool命令行 Python 封装exiftool-python功能最强大、工业级标准支持几乎所有元数据格式EXIF、XMP、IPTC可安全编辑、批量处理。PillowPIL可通过Image.save(..., exif...)写入部分 EXIF需手动构造Exif对象较底层不推荐直接编辑复杂字段。⚠️ 注意直接修改 EXIF 有风险如损坏图像、丢失原始数据建议先备份原图并优先使用exiftool经充分测试、容错强。示例用piexif修改相机型号importpiexiffromPILimportImage# 读取原图 EXIFimgImage.open(photo.jpg)exif_dictpiexif.load(img.info.get(exif,b))# 修改 Manufacturer 和 Model 字段UTF-8 编码exif_dict[0th][piexif.ImageIFD.Make]MyCameraexif_dict[0th][piexif.ImageIFD.Model]Model X# 注入新 EXIF 并保存exif_bytespiexif.dump(exif_dict)img.save(photo_edited.jpg,exifexif_bytes)使用exiftool批量删除照片中所有元数据包括 EXIF、XMP、IPTC、GPS、MakerNote 等推荐以下安全、可靠的方式✅标准命令推荐 —— 保留图像原始像素仅清除元数据exiftool-all-overwrite_original-extjpg-extjpeg-exttiff-extpng /path/to/photos/ 参数说明-all将所有可写元数据标签清空等价于-*但更明确-overwrite_original不生成_original备份文件⚠️谨慎使用建议首次运行时先去掉该参数或改用-o输出到新目录-ext xxx指定处理的文件扩展名支持多-ext/path/to/photos/目标目录支持递归加-r。✅更安全的批量清理推荐新手—— 保留原图输出清理后文件到新目录exiftool-all-o./cleaned/-r-extjpg-extjpeg-exttiff-extpng /path/to/photos/→ 将清理后的图片保存至./cleaned/目录原图完全不动。✅仅删除 EXIF保留 XMP/IPTC 等其他元数据exiftool-exif:all-overwrite_original/path/to/photos/⚠️ 注意事项exiftool默认会创建备份如photo.jpg_original除非显式加-overwrite_original或-f强制覆盖PNG 文件的exif:all实际无效PNG 不含传统 EXIF但-all可清除其XML:All、XMP:All、PNG:All等若需彻底匿名化如发布前建议额外加-m忽略警告和-q静默模式并验证结果exiftool-G1photo_cleaned.jpg# 查看是否还有任何元数据残留✅ 验证是否清空成功应返回“0 tags”或仅显示文件系统信息exiftool-all-jsonphoto.jpg|jqlength# 若为 0说明元数据已空