Python编写自动整理截图文件的智能时间分类脚本方法【指导】

admin 百科 19
Python自动整理截图需优先从文件名提取时间戳,失败则回退到文件元数据时间;按年/月/日创建多级目录,安全移动并处理重名,支持命令行参数与dry-run调试。

Python编写自动整理截图文件的智能时间分类脚本方法【指导】-第1张图片-佛山资讯网

用Python自动整理截图,核心是提取文件创建时间或修改时间,按年月日分文件夹归类。关键不在“智能”,而在准确读取时间、避免覆盖重名、适配不同系统的时间字段差异。

提取截图的真实时间戳

Windows截图默认用系统当前时间命名(如“屏幕截图(1).png”),但实际时间藏在文件元数据里;macOS和部分安卓投屏截图则常带时间戳在文件名中(如“Screenshot 2024-05-20 at 14.32.18.png”)。所以优先尝试从文件名解析,失败再 fallback 到 os.path.getmtime() 或 os.stat().st_birthtime(macOS)。

  • re.search(r'(\d{4}-\d{2}-\d{2}).*(\d{2}\.\d{2}\.\d{2})', name) 匹配常见 macOS/ iOS 截图名
  • 对 Windows 默认命名,直接取 os.path.getctime(path)(创建时间),但注意:NTFS 下该值可能被复制/移动操作刷新,此时改用 getmtime 更稳妥
  • 统一转为 datetime 对象,便于后续格式化成“2024/05/20”这类路径

按时间生成多级目标路径

不建议平铺所有截图到一个文件夹。推荐结构:./Screenshots/2024/05/20/,这样既清晰又方便 Finder / 文件管理器按年份筛选。

  • dt.strftime('%Y/%m/%d') 生成路径字符串,再用 os.makedirs(path, exist_ok=True) 一键建好三级目录
  • 如果某天截图超百张,可加二级子目录如 2024/05/20/AM2024/05/20/PM,靠 dt.hour 判断
  • 路径中避免空格和中文,全部用标准 ASCII 字符,兼容 Linux/macOS/Windows

安全移动 + 重名处理

直接 shutil.move 可能因重名覆盖旧文件。必须检查目标路径是否已存在同名文件。

标签: linux python windows 安卓 工具 mac ios macos win cos

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~