用python解放右手系列(一) 阿明的崩溃周一-为什么你总在加班

张开发
2026/4/19 2:53:05 15 分钟阅读

分享文章

用python解放右手系列(一) 阿明的崩溃周一-为什么你总在加班
阿明的崩溃周一为什么你总在加班本文基于 Python 3.9阅读时间约 6 分钟。周一早上 9 点灾难开始周一早上阿明刚泡好咖啡打开电脑企业微信就炸了。老板在群里他“阿明把上周的日志文件整理一下按日期重命名汇总到 Excel 里再做个图表发群里。上午给我。”阿明心里咯噔一下。他打开日志文件夹倒吸一口凉气——50 多个文件命名乱七八糟log_20240115_backup.txt server_log_1.txt temp_log_final.txt log_20240116 (2).txt ...这谁整理的……阿明扶额。他深吸一口气开始了漫长的手动操作第一步重命名9:00 - 9:40阿明一个个打开文件看里面的日期然后右键重命名。有的文件日期在内容里有的文件名本身就是日期但格式不统一。改了 20 个眼睛已经花了。第二步汇总到 Excel9:40 - 10:30打开 Excel新建表格把每个日志里的关键数据错误数、响应时间、请求量复制粘贴进去。有的日志格式不一样有的多了几列粘贴过来对不齐得手动调整。第三步做图表10:30 - 11:00选中数据插入图表调颜色、调字体、调图例位置。老板喜欢蓝色上次说柱状图太丑要折线图阿明凭记忆改了半天。第四步截图发群11:00 - 11:10截图、保存、发到企业微信群老板。阿明瘫在椅子上看了眼时间——一上午没了。正经活儿还没开始干。更惨的是五分钟后老板回复“怎么只有 49 个少了一个 1 月 18 号的。”阿明“……”他重新数了一遍确实漏了一个。文件名太像手动改的时候看岔了。中午食堂老张登场中午在食堂阿明端着餐盘一脸生无可恋。老张端着红烧肉走过来一屁股坐对面“咋了周一就这个表情这周还过不过了”阿明把上午的事儿倒了一遍最后叹气“张哥你说我是不是效率太低了”老张听完放下筷子表情复杂“你知道你上午那些活儿加起来多少行代码能搞定吗”阿明摇头。不到二十行。老张轻描淡写而且代码跑完不会漏文件不会看错日期不会贴错行。阿明筷子停在半空“……啊”来我给你算算。老张掏出手机打开备忘录。老张的自动化思维课“阿明你知道为什么你总在加班吗”“因为活儿多”不对。是因为你在用人的方式干机器的活儿。“来我问你你上午做的事有什么共同点”阿明想了想“都很烦”对但不够专业。老张掰手指我给你总结三个特征凡是符合这三个特征的工作都应该让代码替你干特征一重复性“你改 50 个文件名本质上是同一个动作重复 50 次。复制粘贴数据到 Excel也是同一个动作重复几十次。”“人重复做一件事第 5 次就开始走神第 20 次必然出错。但代码不会烦代码不会累代码第 1 次和第 10000 次执行结果一模一样。”特征二规则明确“你改文件名规则是什么‘按日期重命名’。汇总 Excel规则是什么‘提取错误数、响应时间、请求量’。”“这些规则是不是说得清楚、写得明白只要规则能说清楚就能写成代码。”“反过来如果老板让你’把这些文件整理得好看一点’——这种模糊的需求代码干不了。但你的活儿规则都很明确。”特征三数据量大“50 个文件你手动改就崩溃了那要是 500 个呢5000 个呢”“代码处理 50 个文件和 5000 个文件时间差不了多少。但人50 个要一上午500 个得干到明年。”老张说完看着阿明“你上午的活儿是不是三条全中”阿明点头如捣蒜。“这就叫自动化思维——看到工作先想这事儿是不是重复、规则明确、数据量大是那就别用手用代码。”Python 的胶水超能力阿明追问“那张哥为啥用 Python我用 Shell 脚本不行吗”行但 Python 更舒服。老张夹了块红烧肉“你知道 Python 有个外号叫**‘胶水语言’**吗”“啥意思”“就像万能胶啥都能粘。”“你想操作文件Python 内置了pathlib比 Shell 还好写。”“你想处理 Excelpandasopenpyxl读、写、算、画图一条龙。”“你想发邮件、发微信yagmail、企业微信 Webhook几行代码搞定。”“你想定时执行schedule、APScheduler设定好时间到点自己跑。”“甚至你想调用别人写的 C 语言库、Java 工具Python 也能粘过来用。”老张咽下红烧肉总结道“说白了Python 不是最强的但是最’百搭’的。你日常工作中遇到的重复性任务文件、Excel、邮件、网页、PDFPython 全都能搞定而且代码写得像人话三天后你自己还能看懂。”整个系列我们要解决什么阿明眼睛越来越亮“张哥那你能教我吗”教。老张抽出一张餐巾纸边写边说咱们这个系列就解决你工作中最常见的几类’重复性折磨’折磨场景Python 解决方案大概多少行代码几百个文件重命名、分类pathlibos10 行Excel 报表合并、格式调整pandasopenpyxl20 行每天定时发邮件/周报yagmailschedule15 行PDF 合并、拆分、加水印PyPDF210 行网页数据抓取requestsBeautifulSoup20 行自动生成图表matplotlib/pyecharts15 行异常自动发微信/钉钉告警Webhook10 行全部串起来打造个人 RPA综合运用50 行阿明看着餐巾纸倒吸一口凉气“这些……我之前都是手动干的。”所以你在加班啊。老张把餐巾纸推过去“从下一篇开始咱们一个一个解决。”环境准备工欲善其事不过先别急你得把’厨房’收拾出来。老张说。1. 安装 Python 3.9去 python.org 下载最新版安装时勾选 “Add Python to PATH”。装完验证python--version# Python 3.11.x 你的版本可能不一样3.9 都行2. 安装 VS Code Python 插件“别用记事本写代码太折磨了。VS Code 免费、好用、插件多。”推荐插件Python微软官方代码高亮、调试、智能提示Pylance类型检查、代码补全更智能Code Runner一键运行代码按CtrlAltN3. 学会用 pip 装库“后面用到的第三方库都用 pip 装。”# 比如装 pandaspipinstallpandas# 装 openpyxl操作 Excelpipinstallopenpyxl# 装 requests网络请求pipinstallrequests“建议换个国内镜像下载快”# 临时使用清华镜像pipinstallpandas-ihttps://pypi.tuna.tsinghua.edu.cn/simple# 或者永久设置pip configsetglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple4. 熟悉 REPL写一行看一行“打开终端输入python你就进了一个交互环境。”print(Hello, 自动化)Hello,自动化358len(阿明今天不加班)7“写一行立刻看结果。调试代码、试想法效率极高。”一句话总结吃完饭阿明感觉周一的阴霾散了一半。老张擦擦嘴留下一句话自动化的本质不是’写很多代码’而是’识别出不该人干的活儿然后让代码去干’。你省下来的时间才是你的。阿明握紧那张餐巾纸“张哥下一篇什么时候开始”明天。老张起身“下一篇教你批量重命名——就从你上午那 50 个日志文件开始。”下集预告下一篇老张带阿明用10 行 Python 代码把 50 个乱七八糟的日志文件一键重命名、分类归档。阿明终于体会到什么叫代码跑完咖啡还没凉。记住凡是重复、规则明确、数据量大的活儿别用手用代码。你工作中有没有那种每周都要手动做一遍的重复性工作是什么欢迎在评论区吐槽说不定下一篇就解决它。

更多文章