
照片整理的需求其实很简单:按”年份/月份”目录归档,没有拍摄时间的按文件修改时间兜底。
一、取拍摄时间
手机照片的 JPG 内嵌 EXIF,用 Pillow 的 getexif() 读 36867(DateTimeOriginal)字段即可;视频文件则用文件修改时间兜底。
二、目录规划
目标结构形如 照片库/2025/2025-03/IMG_1234.jpg。用 pathlib 拼路径,mkdir(parents=True, exist_ok=True) 一行搞定建目录。
三、重名处理
不同手机导出的文件可能重名,归档前用目标文件的 MD5 对比,一致就跳过,不一致则加序号后缀,避免覆盖。
四、先演练再动真格
给脚本加一个 --dry-run 参数,只打印”哪个文件会移动到哪里”,确认无误后再真正执行。移动用 shutil.move,保留原目录结构以便回退。
五、加上进度感
文件多的时候循环里打个计数器,每 100 张输出一行进度,体验会好很多。

