朋友圈都在说Python有多好,到底要不要学?
这篇最早我是发微博动态的,所以更多的是想法,不多论证,点到为止。

我会写的脚本语言是4.5种,Python最常用,然后是AppleScript,再往后是shell和bat。VBA基本上只会复制粘贴魔改,算0.5种。
其中最显著的加速了我的工作效率的有以下几个脚本:
1. 大学期间班长需要给同学下发成绩单,导员给出全专业成绩总表,班长自己在总表里面找到对应的学生和各课程分数,复制粘贴到准备好的模版里。
我大一的时候花了半天左右时间莽了一个自动填写的Python脚本,会从导员发的总表里面抓取学号,考试科目,科目成绩,然后自动生成每个学生的成绩单。
这个脚本大概省下了3个人每人每年一天的人力和时间成本。
2. 一个封装了常用ffmpeg命令的bat脚本。它为我节省了四年来不计其数的打开Premiere只为了完成截图或者转码/压缩操作的时间,以及封装和提取字幕输入完整命令(后来我用小丸工具箱了,小丸yyds)的时间。
3. 一个从PPT/Word当中提取图片的Python脚本。因为微信公众号的新媒体管家插件刚开始从word导入的功能总是会裂图,所以每次都要单独把Word文章中的图片另存出来然后插入。这个脚本给我节省了一年半以来大约一两百来篇推送,每篇推送大约3-5分钟的时间。
4. 一个帮助我把文件快速归档(移动到指定归档文件夹)的AppleScript。它给我节省了一年来大约四五百次Command-C,打开目标文件夹,Command-Option-V的时间。
5. 一个生成带有当前时间和我的姓名的文件副本(例:文件名_当前日期_我的名字)的AppleScript。我管这个叫做“版本控制”。它给我节省的时间不好量化,主要是手动命名(最终版、打死不改版、这次一定是最终版、再改我就是狗版)的时间和寻找重复文件版本的时间。
其他一些不常用的比如方舟数据包拆包前进行预处理的,从超星上下载ppt的,给班级同学发给我的花里胡哨的文件重命名的,一年运行的次数两只手都数得过来。这些谈不上能节省多么大量的时间,顶多缓解一下精神污染的程度。
但是我一直没找到朋友圈那种卖python课程的“大数据处理”的应用场景。准确的说,我觉得这种事情与其花上一天时间去分析数据结构然后写脚本处理并且进入无穷无尽的debug循环,不如花上一分钟时间打开Excel然后快乐一下。
另外卖课程的都不会说的一件事情是:但凡是个正经网站,都有做反爬虫措施。
你以为的python爬虫:十分钟写好运行,三秒钟出数据,剩下的7小时49分钟57秒的时间快乐摸鱼。
现实中的python爬虫:学了一个月python,吭哧吭哧写了三天脚本才顺利运行起来,最后一运行发现才抓了百来个数据怎么就全报错了?然后又花了一天时间debug,最后沮丧地发现不是自己的问题,而是因为本机IP因为用了爬虫被远程服务器拒绝访问了。
这时候老板发来短信:小打啊,我周一跟你要的报表怎么样了?明天之前给我看看。--来自路灯上的iPhone 12 Pro Max。
我唯一一次用Python做数据处理是做计量经济学大作业的时候写了一个Logistics方程来拟合我国的人口数量。真是太痛苦了,性能又低,精度又差,还经常给我来一个data out of range。最后我放台上演示的demo里的参数是用Matlab算好然后硬编码进去的(我们不检查demo代码,请各位同学不要学我)。
所以我的观点是脚本语言确实提高了我的效率,但是不要信朋友圈广告:如果有大批量重复文件处理需求的确实可以学一些python基础语法,后面需要用的时候自己去百度抄代码;如果要做数据分析的话乖乖用excel。
顺便,macOS上有基于文件变化执行自动化流程的应用hazel,也支持在Finder中自定义快捷键来运行指定的Workflow,但是这两个功能和应用据我所知在Windows上都是欠缺的,对于执行自动化操作有很大的影响。
另外,Windows原生不支持Python,所以如果写好的python程序想做到在Windows上开箱即用的话需要通过pyinstaller打包成exe,这个exe的运行效率是很低的。
真正想快乐摸鱼的话还是得拿C,CSharp去写个Windows原生的后台监控,要是做得好的话可以商业化挣点外快,那样更快乐。——但反正我的水平是不够的。