手机相册体检器
用 scripts/audit_photo_library.py 扫描用户明确指定的本地照片/视频备份目录。脚本只读取媒体文件;唯一的写入是用户指定的报告目录。
运行前
- 让用户确认目标是从手机导出、备份或同步到电脑的目录,而不是手机相册本身。
- 默认仅扫描指定目录及子目录;不要扩大到磁盘、用户目录或其他无关位置。
- 安装依赖:
python -m pip install -r requirements.txt。 - 首次先用一个小副本文件夹测试。大量媒体需要逐个读取并计算 SHA-256,可能耗时较长。
命令
python audit_photo_library.py "D:\手机照片备份" -o "D:\photo-library-audit"
只扫描图片或视频:
python audit_photo_library.py "D:\手机照片备份" --kind images
python audit_photo_library.py "D:\手机照片备份" --kind videos
输出目录默认是目标目录下的 photo-library-audit。报告文件包括:
相册体检报告.md文件总清单.csv完全重复文件.csv最大文件排行.csv日期异常文件.csv疑似截图.csv扫描日志.txt
能做与不能做
- 完全重复文件使用 SHA-256 判断,文件名不同也可识别;“理论可释放空间”假设每组只保留一个,但不会推荐删除哪个副本。
- 日期优先级:
EXIF DateTimeOriginal → EXIF DateTimeDigitized → 文件修改时间。报告会列出每个文件采用的来源;Windows 文件创建时间常受复制影响,首版不把它当作拍摄日期。 - 疑似截图仅根据文件名/目录关键词,或 PNG、无相机 EXIF 与常见屏幕比例等规则推测;不识别截图文字、账单、聊天或图片内容。
- 支持常见 JPG、PNG、WebP、GIF、BMP、TIFF、HEIC/HEIF(取决于本机 Pillow 解码支持)及常见视频扩展名的文件级统计。视频日期第一版使用文件系统时间。
- 不做相似照片、模糊/闭眼/人脸/内容识别,不移动、删除、重命名、上传或修改拍摄日期。
交付规则
- 运行前说明目标路径与报告路径;运行后报告扫描数量、耗时、跳过文件数与报告路径。
- 将报告中的“疑似”与“理论可释放”表述为人工复核线索,不能当作删除指令。
- 解析失败、权限不足或不支持的文件应记录在日志中,不要尝试绕过权限或保护。
Scan to join WeChat group