朋友圈都在說Python有多好,到底要不要學(xué)?
這篇最早我是發(fā)微博動態(tài)的,所以更多的是想法,不多論證,點到為止。

我會寫的腳本語言是4.5種,Python最常用,然后是AppleScript,再往后是shell和bat。VBA基本上只會復(fù)制粘貼魔改,算0.5種。
其中最顯著的加速了我的工作效率的有以下幾個腳本:
1. 大學(xué)期間班長需要給同學(xué)下發(fā)成績單,導(dǎo)員給出全專業(yè)成績總表,班長自己在總表里面找到對應(yīng)的學(xué)生和各課程分數(shù),復(fù)制粘貼到準(zhǔn)備好的模版里。
我大一的時候花了半天左右時間莽了一個自動填寫的Python腳本,會從導(dǎo)員發(fā)的總表里面抓取學(xué)號,考試科目,科目成績,然后自動生成每個學(xué)生的成績單。
這個腳本大概省下了3個人每人每年一天的人力和時間成本。
2. 一個封裝了常用ffmpeg命令的bat腳本。它為我節(jié)省了四年來不計其數(shù)的打開Premiere只為了完成截圖或者轉(zhuǎn)碼/壓縮操作的時間,以及封裝和提取字幕輸入完整命令(后來我用小丸工具箱了,小丸yyds)的時間。
3. 一個從PPT/Word當(dāng)中提取圖片的Python腳本。因為微信公眾號的新媒體管家插件剛開始從word導(dǎo)入的功能總是會裂圖,所以每次都要單獨把Word文章中的圖片另存出來然后插入。這個腳本給我節(jié)省了一年半以來大約一兩百來篇推送,每篇推送大約3-5分鐘的時間。
4. 一個幫助我把文件快速歸檔(移動到指定歸檔文件夾)的AppleScript。它給我節(jié)省了一年來大約四五百次Command-C,打開目標(biāo)文件夾,Command-Option-V的時間。
5. 一個生成帶有當(dāng)前時間和我的姓名的文件副本(例:文件名_當(dāng)前日期_我的名字)的AppleScript。我管這個叫做“版本控制”。它給我節(jié)省的時間不好量化,主要是手動命名(最終版、打死不改版、這次一定是最終版、再改我就是狗版)的時間和尋找重復(fù)文件版本的時間。
其他一些不常用的比如方舟數(shù)據(jù)包拆包前進行預(yù)處理的,從超星上下載ppt的,給班級同學(xué)發(fā)給我的花里胡哨的文件重命名的,一年運行的次數(shù)兩只手都數(shù)得過來。這些談不上能節(jié)省多么大量的時間,頂多緩解一下精神污染的程度。
但是我一直沒找到朋友圈那種賣python課程的“大數(shù)據(jù)處理”的應(yīng)用場景。準(zhǔn)確的說,我覺得這種事情與其花上一天時間去分析數(shù)據(jù)結(jié)構(gòu)然后寫腳本處理并且進入無窮無盡的debug循環(huán),不如花上一分鐘時間打開Excel然后快樂一下。
另外賣課程的都不會說的一件事情是:但凡是個正經(jīng)網(wǎng)站,都有做反爬蟲措施。
你以為的python爬蟲:十分鐘寫好運行,三秒鐘出數(shù)據(jù),剩下的7小時49分鐘57秒的時間快樂摸魚。
現(xiàn)實中的python爬蟲:學(xué)了一個月python,吭哧吭哧寫了三天腳本才順利運行起來,最后一運行發(fā)現(xiàn)才抓了百來個數(shù)據(jù)怎么就全報錯了?然后又花了一天時間debug,最后沮喪地發(fā)現(xiàn)不是自己的問題,而是因為本機IP因為用了爬蟲被遠程服務(wù)器拒絕訪問了。
這時候老板發(fā)來短信:小打啊,我周一跟你要的報表怎么樣了?明天之前給我看看。--來自路燈上的iPhone 12 Pro Max。
我唯一一次用Python做數(shù)據(jù)處理是做計量經(jīng)濟學(xué)大作業(yè)的時候?qū)懥艘粋€Logistics方程來擬合我國的人口數(shù)量。真是太痛苦了,性能又低,精度又差,還經(jīng)常給我來一個data out of range。最后我放臺上演示的demo里的參數(shù)是用Matlab算好然后硬編碼進去的(我們不檢查demo代碼,請各位同學(xué)不要學(xué)我)。
所以我的觀點是腳本語言確實提高了我的效率,但是不要信朋友圈廣告:如果有大批量重復(fù)文件處理需求的確實可以學(xué)一些python基礎(chǔ)語法,后面需要用的時候自己去百度抄代碼;如果要做數(shù)據(jù)分析的話乖乖用excel。
順便,macOS上有基于文件變化執(zhí)行自動化流程的應(yīng)用hazel,也支持在Finder中自定義快捷鍵來運行指定的Workflow,但是這兩個功能和應(yīng)用據(jù)我所知在Windows上都是欠缺的,對于執(zhí)行自動化操作有很大的影響。
另外,Windows原生不支持Python,所以如果寫好的python程序想做到在Windows上開箱即用的話需要通過pyinstaller打包成exe,這個exe的運行效率是很低的。
真正想快樂摸魚的話還是得拿C,CSharp去寫個Windows原生的后臺監(jiān)控,要是做得好的話可以商業(yè)化掙點外快,那樣更快樂?!凑业乃绞遣粔虻?。