靠Python甩掉機械式作業!7大常見煩人場景,用程式語言來解放
靠Python甩掉機械式作業!7大常見煩人場景,用程式語言來解放

編按:本文作者為Python工程師,分享了他運用Python簡化生活的技巧與經驗。

在生活和工作中,往往充斥著一些枯燥且乏味的事情。所以要讓自己從機械地重複性勞動中解放出來,才是解放身心的正確姿勢。

本文列舉了我自己平時在工作和生活中的七個小場景,每個場景都是帶有這樣「重複性」性質的事情,一起看看我是如何用Python這門簡單易懂的程式語言去解決這些事情吧。

全文我都以macOS環境來模擬實際的操作情況,當中的程式碼也可以在Windows下運行,稍微修改路徑即可

場景1:批量修改文件名

一般來說,注重信息安全的公司都不會允許員工私自安裝第三方軟體。這樣的情況就發生在公司給我配的Windows筆電上。

如果你用的是macOS,那麼你可以很快地選中相同類型的一批文件,然後右鍵調出系統自帶的重命名功能批量修改文件命名。但是這些命名修改只能實現一些簡單地頭尾修改或是替換,如果想要修改文件拓展名則不行

Python2.png
圖/ 少數派

所以不管是用Windows也好,還是用macOS也好,我就自己寫一個簡單的Python腳本吧!假設我現在有這麼一堆文件,都是.png為後綴的,我想把它們全部都換成.jpg格式。

Python3.png
圖/ 少數派

普通版

碰上我上面說的這種無法私自安裝第三方軟體的用不了的情況,那麼你就要自己手動一個一個右鍵然後重新命名了。

Python版

我可以簡單利用Python內建的os庫來進行文件命名的修改操作。

Python4
圖/ 少數派

一般的文件名重新命名到這就可以結束了。

Python5
圖/ 少數派

但是如果碰到是這種中英文標點混雜的極端方式命名的文件,只想要以當中的中文來命名怎麼辦?

Python6.png
圖/ 少數派

這時候就可以加入一個正則表示式的功能,可以讓我們的程式更加強大。關於正則表示式的相關介紹可以參考王樹義老師的這篇文章:

Python正則版

Python02
圖/ 少數派
Python7
圖/ 少數派

這裡我就僅調用了Python內建的re庫用個文件名進行替換操作,並再轉換成列表形式。來實現正則表示式方法, \u4e00-\u9fa5 這一範圍內的unicode字符已經基本涵蓋了所有中文單字,可以直接將當中所有中文抽取出來後再拼貼起來。最後利用內建的map函數對舊文件名中的每個文件名進行替換操作,並再轉換成列表形式。

這樣,複雜的命名情況也能迎刃而解。

場景2:工作模板

不知道你們是否有對每天工作記錄的習慣?我每天到公司都會建立一個以當天日期命名的工作記錄文件夾,當中存放簡單的工作索引並將當天工作的所有文件都會放到裡面。一方面,便於我不會將工作需要的文件亂放;另一方面,還便於我回顧我這週都做了哪些事情並給同事上報工作計劃。

普通版

沒學過編程的朋友可能思路就是:新建一個以當天日期命名的文件夾→新建一個Word或記事本→打開Word或記事本→複製貼上相應模板或輸入相關內容→保存文檔。

如果這樣做每天你可能要花上大概5、6分鐘來做,那這樣就少那麼5、6分鐘來做其他事。

Python版

基本上我打開Word的次數屈指可數,因為要寫報告的次數不算多;反而是Markdown的.md格式或者普通的記事本的.txt格式才是我比較喜歡的。所以我就透過Python寫了一個每天自動生成模板,並創建一個Markdown樣式的工作記錄文檔。基本思路如下:

1.自動新建一個以日期命名的文件夾

2.在文件夾裡又新建一個.md格式的Markdown文檔

3.然後在.md文檔中寫入模板

理清思路後就花了10分鐘寫了以下的程式碼:

Python24.png
圖/ 少數派

這裡我主要就利用了Python內建的os庫和time庫。前者主要是對系統進行操作,後者顧名思義就是有關於一些時間的處理。當中模板的寫法看起來好像蠻醜陋地,但是其實只有這樣寫才能顯示出Markdown相關樣式。

Python01
圖/ 少數派

如果你是習慣性地使用電腦來記錄固定格式的文檔,如日記、合同等,你可以嘗試一下我的這個思路。如果是涉及到生成固定模板的Word,那我推薦你去了解一下docx這個第三方庫。

場景3:信息獲取

前不久我的同事讓我幫他處理一個項目的文本數據,要求很簡單:將文本中帶有上海相關地址的信息(區、鎮、街道)進行隱藏處理。

我的思路就是:將數據中包含地址的文本和包含地址信息的文本相匹配,匹配上的文本替換成「XXX」符號。

那麼問題來了,我去哪裡找一個包含地址信息的文本數據呢?好在我找到了一個包含上海區、鎮街道相關名稱的網頁,那麼我如何把上面的數據拿下來呢?

Python10.png
圖/ 少數派

普通版

換做是以前懵懂單純的我,我肯定是:打開網頁→複製貼上到Excel中→去除多餘空格。如果數量少其實也就手動複製貼上了,但是數量多了肯定沒轍;而且中國目前的城市,下設街鎮數目肯定不是那種屈指可數的……

Python版

帶著「偷懶」的思維,我肯定是想著怎麼從這個網站上把公開的信息給爬下來。於是就有了下面的程式碼:

Python25.png
圖/ 少數派

這裡我僅用第三方的requests庫訪問鏈接,然後用Beautifulsoup庫來提取頁面源程式碼中的數據,最後將得到的數據存儲到一個列表中。

不過這裡注意的是,因為我爬取的這個網站應該是比較久遠了,所以在網頁維護上做的不是特別規範,所以也會爬取到一些其他的東西。我想要的數據到第238位索引截止。(感興趣的朋友可以試著把streets[:238] 連同方括號的所有內容去掉,看看會出現什麼信息。)

Python11
圖/ 少數派

拿到這些地址數據後,我就可以快速做掉同事交辦的任務了!

場景4:數據結構化

每個月發薪水後,人事部都會發一封包括基本薪資、保險獎金等薪資的相關明細,樣式如下(文中金額為虛構):

Python03.png
圖/ 少數派

可是郵件的內容都是文本,不是結構化的數據,該怎麼辦呢?

普通版

複製……貼上……

Python版

仔細觀察可以看到,基本上有用的部分都是「,」英文逗號分隔,然後用「:」英文冒號隔開。那麼我的思路:將文本先分別按這兩個符號進行分割,然後結構化成DataFrame類型,最後將行列對調一下。

實現過程如下:

Python26.png
圖/ 少數派

這部分可能需要你對Pandas這個數據分析的重要第三方庫有一些了解,Pandas為我們提供了許多方便的數據操作API,是用Python來進行數據分析和數據挖掘必學庫之一。

這裡有個巧妙的地方就在於封裝的clean_text() 函數中,我使用了try-except的這麼一個基本框架來去將二次分割後的數據進行操作,如果不這麼做的話那麼整個程式到下一步時就會報錯,因此無法處理對應明細的字段名稱。同時因為裡面不包含日期時間,所以就自己手動指定。

以上只是我最初的版本,在修改版中我同樣給這個腳本添加了命令行用法,最終呈現效果我還是很滿意的:

Python12
圖/ 少數派

場景5:測試數據生成

我的同事又給了我一個任務:問我能不能找大概300個姓名數據來充當一下我們給客戶展示的例子。

簡單來說就是找一批人名的數據就行了。那麼是不是說要重新找個公開人名訊息的網站,然後爬取呢?No!能有更偷懶的辦法我肯定不會去重複「造輪子」(有人用程式碼實現類似的功能就不要自己去重新寫一個)。

普通版

不學編程的我,打開Google,輸入取名大全,默默複製貼上……

Python版

有程式思維的我,找到了一個名叫Faker的第三方庫。此Faker非LOL的Faker大魔王,但是顧名思義就是與「假」有關,可以生成各種假數據。查閱官網文檔後你就可以發現,它能創造一批測試數據,包括但不限於人名、公司名、地址名、時間、銀行卡號……

Python13.png
圖/ 少數派

實例如下:

Python04
圖/ 少數派
Python14
圖/ 少數派

僅僅幾行程式碼量,我就直接搞定了這項任務。除了Faker之外,Python還有很多好玩有趣又或是強大的第三方庫。

場景6:Bing首頁每日壁紙下載

我一直覺得微軟Bing搜索頁的背景圖都蠻好看的,所以打算每天一打開電腦就運行下載當天的背景圖設為桌面的壁紙。可打開官網一看,好像並沒有任何保存圖片的選項……

Python15.png
圖/ 少數派

普通版

打開沒有保存圖片的選項,似乎就說明好像不能直接保存,那麼就只能去尋求第三方的壁紙軟體了……

Python版

既然網頁有這個背景圖,那說明肯定是已經存在圖片資源,讓我按F12打開Chrome瀏覽器開發者工具看看。

Python16.png
圖/ 少數派

稍微檢查一下,發現源始碼中這一行id="bgImgProgLoad" 的節點好像就是包含背景圖片資源的源始碼;再切換到Sources選項卡中發現直接就可以看到圖片了。

然後我們再將鼠標挪到圖片中選中在新窗口打開,就發現壁紙直接就呈現在我們眼前,可保存圖片的選項也出現了。

Python17.png
圖/ 少數派

再讓我們看看圖片的路徑地址,我們可以發現源程式碼中的/th? 那一段字符其實就是圖片的路徑地址。

所以就程式碼就很簡單了:

Python27.png
圖/ 少數派

這裡我還是使用requests+BeautifulSoup的組合拳,然後找到id="bgImgProgLoad" 節點中的data-ultra-definition-src值和base_url拼貼在一起就是圖片的路徑了。

唯一不同的就是調用了urllib.request下的urlretrieve() 函數,該函數可以打開一個鏈接並下載當中內容了。

Python18
圖/ 少數派

不過這僅僅只是下載,我們還可以加入如:顯示「下一張」(或上一張)壁紙、命令下載等,有基礎的朋友可以自己動手嘗試一下。

場景7:批量獲取下載連結

無論是在手機還是在iPad上,我都可以將bilibili影片進行暫存,但是電腦不借助第三方軟體的話似乎就沒辦法實現暫存。那麼我在bilibili看到別人從Youtube上搬運的一套很不錯的Python免費教程,我又想存在電腦上看怎麼辦?下載似乎是個好辦法。

Python19.png
圖/ 少數派

這裡我就使用到Downie3這一下載工具,它不僅可以解析Youtube鏈接,還能解析bilibili影片的鏈接。

Python20.png
圖/ 少數派

但是如何批量獲取到整個課程的所有鏈接呢?

普通版

通常的做法就是批量⌃Ctrl+C複製視頻頁鏈接,然後修改後面的頁數,最後再複製貼上到下載器中。

如果是短短幾個影片,那這麼做也還說得過去;但是如果是超過10個以上,自己點擊半天那麼估計也得花一些時間。且如果這種需求常有的話,難免覺得自己是個機器人。

Python版

既然學過Python,那麼是不是我可以利用循環生成相對應的頁數,然後和不變的URL部分進行貼上就好了?有了想法就暴躁地敲出如下程式碼:

Python28.png
圖/ 少數派

這幾行程式碼就簡簡單單地能夠快速把鏈接快速生成,並且保存在桌面上,這樣你就可以把所有東西都複製貼上了進下載欄裡了。

Python21
圖/ 少數派

當然這個版本已經就可以達到我們的需求。但我不想每次都打開VSCode運行Python,可又想快速生成怎麼辦?那我們就以「命令行」的風格來試一下!

命令行版

Python29.png
圖/ 少數派

這裡我借助了Python內建的argparse庫,這個庫可以讓你以命令行地方式來運行Python程式。前面其他的場景其實也可以透過這個庫修改成命令行式實現,篇幅有限就不過多講解,有基礎的朋友可以去研究一下。

Python22
圖/ 少數派

結尾

這些事情的初衷都是因為一個字「懶」,這也並不是說明我懶惰,而是不想將時間浪費在一些機械枯燥的重複性操作上。所以出於「偷懶」的心態,結合自己所學的技能去實現功能需求,讓自己從下一次的重複操作中解放出來。以上僅是一些我常用的小腳本,能用Python來做的有趣的事情還遠遠不止這些。

延伸閱讀:
1. 推薦Python初學者的好用工具:Google Colab
2. 28歲青年鑽研「Python+股市」,開課教學生打造「選股策略」賺進千萬身價

責任編輯:江可萱、蕭閔云
本文授權轉載自:少數派

往下滑看下一篇文章
告別跨海投資焦慮!永豐金「大戶投 APP」美股 2.0 登場,一站式平台解構百萬投資人痛點
告別跨海投資焦慮!永豐金「大戶投 APP」美股 2.0 登場,一站式平台解構百萬投資人痛點

台灣人的投資版圖,正快速向海外市場擴展。

根據券商公會統計,近幾年透過券商複委託參與海外市場的人數與金額皆持續成長,美股更成為多數投資人佈局全球市場的第一站。當投資視野從台股延伸至美股,投資人對交易 APP 的期待也隨之改變:它不再只是下單工具,而是能整合分散資訊、協助解析市場脈動的投資平台。

數位 永豐金證券美股_Stanley-31.jpg
(永豐金證券「大戶投APP」美股2.0全新功能上線)
圖/ 永豐金證券

在此趨勢推動下,券商紛紛進化數位平台功能,如永豐金證券近期便啟動「大戶投 APP」美股 2.0 升級計畫,針對散戶在投資美股時經常面臨的資訊碎片化、操作繁瑣等痛點,設計五項全新功能,希望讓投資人更有效率地掌握海外市場動態。

看得到卻抓不到機會:散戶投資美股的三大痛點全解決

永豐金證券數位金融處副總經理劉柏甫觀察,散戶在進入美股市場時,最常遇到的難題往往不是資訊匱乏,而是「看得到,卻未必抓得到機會」。

在他看來,速度落差、資訊碎片化和決策成本高,是投資人與交易時機擦身而過的 3 大主因:

一、首先是速度落差。美股沒有單日漲跌幅限制且股價波動速度快,倘若報價更新不夠即時,或因時差錯過盤中關鍵行情,投資人很容易錯過最佳進出場時機。二、資訊碎片化。從報價查詢、交易下單、技術線圖分析、到財報資料產業動態,相關資訊往往分散在不同平台,投資人必須在多個平台間頻繁切換,導致進場時機很可能在過程中悄然流失。三、決策成本高,由於美股標的多達上萬檔,在缺乏高效的篩選與分析工具的情況下,投資人往往需要耗費大量時間整理資訊,讓選股過程如同大海撈針。

因此,如何在有限時間內快速整合市場訊號、精準掌握交易節奏,成為散戶在投資美股時的關鍵課題,也是永豐金證券推動「大戶投 APP」美股2.0升級的重要出發點。

劉柏甫說明,「此次改版的核心概念在於一站式整合,透過 5 大創新設計,將原本分散在不同工具中的下單、看盤與線圖分析功能整合在一起,讓投資人無須在多個介面間來回切換,只要在單一平台就能完成從判讀、選股到下單的完整流程。」

亮點1》毫秒級即時報價,解決美股交易「速度落差」

針對美股交易中常見的報價延遲問題,「大戶投 APP」導入毫秒級主動推送報價機制,使投資人能夠更快速掌握盤中價格變化。

過去散戶使用的免費看盤軟體,多半僅能提供延遲約 15 分鐘的報價,當市場在開盤或重大消息發布時出現劇烈波動,投資人往往要等待一段時間,才會在螢幕上看到更新的數字,此時可能已錯過最佳交易時機。如今,透過「大戶投 APP」美股毫秒報價機制,投資人可以即時看到價格變動,在盤中快速做出交易判斷,縮短資訊取得與實際交易之間的時間差。

亮點2》9+23 技術指標,把專業級線圖分析搬進手機

針對投資人判讀股價趨勢的需求,「大戶投 APP」導入 9+23 技術指標模組,使用者在手機上就能看到專業線圖分析,輕鬆解析個股趨勢的底層邏輯。

過去散戶若想進行完整的技術分析,往往需要在電腦上開啟專業軟體,才能查看各類指標,不僅操作繁瑣,也增加分析門檻。如今,「大戶投 APP」透過 9+23 技術指標模組,分別是 MA、布林通道與CDP等9大主圖指標,與KDJ、MACD與乖離率等23項副圖指標,協助投資人快速觀察股價趨勢與動能變化、判斷個股走勢,讓技術分析不再是專業投資人的專利。

數位 永豐金證券美股_Stanley-38.jpg
(永豐金證券「大戶投APP」四大選股策略)
圖/ 永豐金證券

亮點3》四大選股策略,一鍵跨越決策門檻

針對投資人面對龐大美股標的時的選股難題,「大戶投 APP」導入四大策略工具,包含市場熱股快選、基本面首選、趨勢動能選以及專業機構等級的 Barra 量化因子選,加速選股決策流程。

投資人在選股時,往往需要自行查閱公司資料或逐一比對財務與技術指標,不僅耗時,也容易錯過機會。而「大戶投 APP」則善用 AI 力量,將複雜的選股策略簡化為直觀的篩選標籤,從不同面向協助投資人快速篩選標的。例如,從財報獲利挑出體質好的穩健成長股,或是從成交量與價格波動狀況找出市場最火熱的標的,讓原本如同大海撈針的選股過程變得更有效率。

亮點4》全新盤勢儀表板,一眼掌握市場資金流向

針對美股市場資訊龐雜、投資人難以快速掌握當日市場重點的問題,「大戶投 APP」推出美股焦點儀表板,以圖表方式集中呈現多項市場資訊,讓投資人一眼就知道當晚「美股漲什麼」。

過去投資人若想了解當天的市場動態,往往需要在多個網站與平台查詢資料,才能拼湊出整體輪廓。而美股焦點儀表板的產業熱力圖與個股漲跌幅分佈圖,則運用區塊大小與色澤深淺設計,讓投資人可以直觀了解當日市場資金流向哪些產業,輕鬆跟上整體產業輪動趨勢,還能判斷今日大盤是「全面普漲」還是「只漲龍頭股」,有效避開大盤虛紅、持股真綠的陷阱。

亮點5》分析師評級指南針,降低美股研究門檻

針對投資人解讀國際投資機構研究報告的困難,「大戶投 APP」獨家推出分析師評級指南針,整合由美國上市的金融數據與分析服務公司提供的機構級數據。

透過串接全球超過 200 個資料庫,大戶投 APP 提供涵蓋投行分析師與私募市場的權威數據與多元市場觀點的數據資訊,協助投資人降低資訊碎片化帶來的判讀成本。同時,平台亦提供中文版公司背景介紹,讓投資人在交易前能快速掌握企業核心業務與產業定位,並參考國際機構的整體共識,提高投資決策效率。

劉柏甫強調,這賦予了散戶與法人同等的「專業底氣」,協助投資人告別盲目跟單,掌握基本面優勢,更有信心地執行每一筆交易決策。

數位 永豐金證券美股_Stanley-12.jpg
(永豐金證券數位金融處副總經理劉柏甫(前排中)、平台發展部部長莊俊賢(前排左二)、平台發展部副部長黃亮喻(前排右二),與大戶投APP開發團隊合影。)
圖/ 永豐金證券

「大戶投 APP」上線至今吸引超過百萬人下載,背後正是永豐金證券持續投入資源、發展各項數位服務的成果。未來,永豐金證券仍將持續創新「大戶投 APP」功能,並整合金控集團內部資源,不斷提升投資體驗,成為客戶心中值得信賴的「投資第二大腦」。

此外,為降低投資全球市場的門檻,永豐金證券攜手永豐銀行,串聯DAWHO數位外幣帳戶與「大戶投 APP」美股交易,投資人除可享有更順暢的資金調度體驗,亦能搭配銀行端外幣換匯減分或不定期優利方案。投資人僅需一鍵線上申請,即可同步開立新臺幣、外幣、信託、國內證券與複委託等五大帳戶,大幅簡化跨市場投資流程。

即日起至6月30日止新開立永豐金證券帳戶,即可享30天「豐學PRIME 2.0」投資專欄免費試閱體驗;升級永豐銀行大戶Plus加碼再領30天,每月定期定額存台股也能輕鬆達成大戶Plus升等任務,投資人若想體驗在全球市場直覺便利、極致流暢的交易體驗,享受一站式理財的便利性,現在正是申請「永豐DAWHO數位帳戶 X大戶投」帳戶的好時機。(詳情請見官網:https://sinourl.tw/SF98Zh)

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
AI全球100+台灣20
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓