昨天晚上刚躺下准备刷两把视频,领导电话就追过来了,那语气你们懂的,“东哥,你那个脚本再帮忙搞下哈,就那个…每天那个报表的…重复操作的…能不能自动一下?”
我一听这开场白,心里咯噔一下:又有活儿,而且多半是那种“人肉拧螺丝”型的。果不其然,他后面补了一句:“我们这边有 1420 份导出的图片,要改名字、归档,要是手工点的话,大概要 1420 分钟,你看哈能不能……”
1420 分钟,除个 60,大概 23 点多小时,我脑子里就浮现出一个实习生对着资源管理器,F2 改名改到怀疑人生的画面。
我随口回了句:“行行行,这种搬砖的事情就不要人干了。”心里其实在想:完了,今晚不能早睡了。
对了,先说清楚,这 1420 份是啥玩意儿。业务那边每天从系统导出一堆打卡截图,文件名是这种风格:
- 10001_20250101_打卡截图.png
- 10002_20250101_打卡截图.png
- ……
他们想要的效果是:
- 改成 10001-20250101.png 这种规整名字
- 再统一丢到一个“已归档”的文件夹里
听上去是不是很朴素?但手工干一次,一个文件就算 1 分钟:点开文件夹、F2、敲键盘、回车、拖到新文件夹。1420 个文件,1420 分钟,真·一天干不完。
我当时整个人是这种状态:一边吐槽,一边打开编辑器。就跟我之前那篇数据库压测里说的那样,能让机器干的,千万别自己硬抗。
先大致算一下账啊,你们跟着心算下:
- 人工:1420 分钟 ≈ 1420 / 60 ≈ 23.7 小时
- 电脑:磁盘是本地 SSD,1420 个小 PNG,顺序 IO,Python 循环跑一圈…我随手估了下,几秒钟肯定能搞定,甚至 2 秒以内问题不大
我就跟领导说:“你给我五分钟,我写个小东西试试。” 他来了一句:“不用这么久,你吃完夜宵再看也可以。”
我:……兄弟我打算用 Python 的,不是用复制粘贴大法。
反正思路特别简单粗暴:
- 读原始文件夹里的所有文件名
- 按下划线把文件名拆开,拿到工号和日期
- 拼一个新名字 工号-日期.png
- 把文件“挪”到归档目录
真正难的地方只有一个:我得先问清楚他到底是想“复制一份过去”还是“移动过去就行”。要是搞错了,第二天业务说“原始文件哪去了”,那就不是自动化,是自动背锅。
确认完需求,我开始敲代码。期间同事在群里问:“东哥你又在整什么骚操作?”我回他:“等下,先敲完这几行,我现在脑子还在线。”
最后缩完就 8 行核心代码,就长这样:

你别跟我较真说“实际上这是 8 行还是 9 行”,反正编辑器左边显示的是 8 条行号,有缩进的不算一行…就这么着,程序员的数学,懂的都懂。
这 8 行里面,逻辑其实全藏进去了:
- 第一行 import os, time, shutil:把“逛文件夹”“看时间”“搬文件”的工具一把全抓进来,图省事就写一行
- 第二行记一下 t0,后面好吹牛用:“你看,真的是 1.7 秒”
- 第三行把原始目录和目标目录写死(后面业务要改就让他们自己改路径,谁改错谁背锅)
- 中间那个 for 循环,就是在替你重复按 F2、Ctrl+X、Ctrl+V
- 最后一行 print 就是专门拿来截图发群里显摆的
我给你们复刻一下当时的现场哈。脚本写完,我先随便拷了 10 个文件到测试目录里跑了下,打印出来:
共处理10个文件, 用时0.03秒
我心里大概有底了:10 个文件 0.03 秒,1420 个文件线性放大,大概就是 1420 / 10 * 0.03 ≈ 4.26 秒。真跑的时候受磁盘波动影响,最后实测出来是 1.7 秒,说明我那台破电脑还是挺给力的。
等我把脚本路径、Python 装好,把那个目录改成他们实际的网络盘路径,让业务同学亲手双击执行。一眨眼,黑窗口一闪而过,他整个人愣那儿了,轻声跟我说了一句:“卧槽,完了?”
我说:“对啊,你去那个归档文件夹看一眼。”
他点开一看,1420 个文件整整齐齐躺在那,命名统一,顺序还按文件系统给的来,唯一的缺点就是没给他一点刷手机摸鱼的时间。
期间还有个小插曲。业务同学问:“那要是有个文件名是手动改过的,比如不是三段‘下划线’结构,会不会炸?”
我承认这个我一开始没防守。按现在这几行代码,遇到名字格式不对的,name.split("_")[1] 就直接抛异常,脚本嘎然而止。于是我一边嘴上说“你们导出的名字都这么规范的啦”,一边悄悄加了个土味容错版,给你们看看核心改动:

就多几行判断,换来了“不会中途挂掉”的心安。这个就不算在那 8 行营销文案里了,毕竟真正用的时候,谁还不多加几句 if 呢,对吧。
再说句实话哈,这种小自动化,一次性帮别人省下来的不是 1420 分钟,是后面每天、每周、每个月反复叠加的时间。你写脚本那 10 分钟,看起来好像亏了,实际上是给自己攒“技术利息”。
后来办公室里面谁要干点批量活儿,都习惯先来一句:“东哥,这玩意儿能不能写个 Python 帮我们搞一下?” 我一般先问三个问题:
- 操作是不是重复的?
- 规则是不是固定的?
- 风险是不是可控的(比如删库这种就算了…)
三个都是“是”的话,八成就适合拿几行 Python 干掉。
行了我不唠叨了,本来想继续举一个自动填 Excel 模板的例子的,结果外面外卖小哥已经打电话催我下楼了,先这样,你们有类似“每天都在复制粘贴”的活儿,可以先数一数自己到底浪费了多少分钟,再决定要不要写那 8 行。
以上就是“Python自动化!8行代码1.7秒搞定原来 1420 分钟的重复工作!”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://www.phpxs.com/post/14000/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料