你是否遇到过这样的困扰?从网盘下载的图片导入相册后,拍摄日期全变成了下载时间;截图或处理过的照片总是 “丢失” 拍摄日期,导致相册按时间排序时混乱不堪……
别担心!今天分享一个超实用的 软件神器,只需文件名中的时间信息,就能自动修复图片的 EXIF 拍摄日期,让相册管理回归井然有序~
graph TD
Start --> Stop
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
sequenceDiagram
Alice->>John: Hello John, how are you?
John-->>Alice: Great!
Alice-)John: See you later!
DateTimeOriginal
等字段,适配主流相册排序规则提取时间:通过正则表达式 “扫描” 文件名,捕获如 20231001_143000
或时间戳等格式
python# 示例:匹配 YYYYMMDD_HHMMSS 格式
pattern = r"(\d{8})[ _\.-](\d{6})"
match = re.search(pattern, "Photo_20231001_143000.jpg")
校验有效性:确保提取的日期在合理范围内,避免 “未来照片” 或 “穿越时间”
写入 EXIF:使用 piexif
库修改图片元数据,自动更新拍摄时间
安装依赖:
bashpip install piexif # 仅需一行命令,轻松安装工具库
运行脚本:
img_path
和 new_path
pythonif __name__ == '__main__':
img_path = './待修复图片/Screenshot_20231001_143000.jpg'
new_path = './修复后图片/正确日期照片.jpg'
modify_image(ImageFile(img_path), save_path=new_path)
批量处理:添加循环逻辑,一键修复整个文件夹图片
运行结果
🔗 GitHub仓库:https://github.com/LC044/EasyBox
💡 提示:仓库内包含示例图片和详细注释,新手也能轻松上手!
本文作者:司小远
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!