之前幾篇文章,同大家寫過一堆 Python 自動化小程式:自動備份、合併 Excel、抽 OCR 文字、定時排程……好多老闆睇完都同我講同一句話:「啲 Script 真係好用,但公司同事見到嗰個黑色 Command 視窗,即刻縮沙,唔敢撳。」
問題唔係 Script 唔得,而係「介面太嚇人」。其實只要替個 Script 加一個小視窗——有輸入格、有按鈕、有結果提示——同事就會當佢係普通軟件咁用,一撳即得。今次就教大家用 Python 內置嘅 tkinter,用幾十行 code,幫自己嘅自動化程式「著件西裝」。
GUI 係咩?點解要加?
GUI(Graphical User Interface,圖形使用者介面)就係我哋平時見到嘅視窗、按鈕、輸入框。有咗佢,用家唔需要識打命令,只要撳掣就得。對公司嚟講,意義主要有兩點:第一,降低使用門檻,同事唔使學打指令;第二,統一流程,減少「入錯路徑」、「漏咗步驟」呢類人為錯誤。
第一步:唔使安裝,tkinter 跟 Python 一齊嚟
好多新手以為做圖形介面好複雜,其實 tkinter 係 Python 標準庫,裝咗 Python 就已經有,唔使 pip install。喺 Command 視窗打一句 python -c "import tkinter",冇報錯就代表可以用得。
第二步:個小工具會做啲乜?
- 揀資料夾 —— 撳「揀資料夾」,彈出視窗選路徑,唔使再手打
- 一撳執行 —— 撳「開始合併」,程式自動處理
- 即時提示 —— 完成後彈出訊息,話你知合併咗幾多個檔案
示範用「將一個資料夾入面所有 .txt 合併成一份」做例子;你之後只要換走中間處理嗰段,就可以套用喺自己嘅備份、報表、OCR Script 上面。
第三步:寫程式
開一個新檔案叫 tool.py(記事本都得),貼入以下 code:
逐行解釋
- import tkinter as tk —— 載入 Python 內置嘅圖形介面工具。
- filedialog / messagebox —— 兩個現成彈窗:一個負責「揀檔案/資料夾」,一個負責「提示訊息」。
- choose_folder() —— 撳「揀資料夾」時執行,彈出選取視窗,將揀到嘅路徑寫入輸入格。
- run_tool() —— 核心工序:先檢查路徑同有冇檔案,再用 glob 搵晒所有 .txt,逐個讀入、合併成一份。
- path_var / status_var —— 兩個「可變文字」變數,輸入格同狀態列綁住佢,一改個值,畫面即刻更新。
- command=run_tool —— 撳掣就呼叫 run_tool(),呢句正正就係「一撳即用」嘅關鍵。
- root.mainloop() —— 令視窗保持開啟;唔加呢行,視窗會一閃即消失。
第四步:執行同打包
喺 Command 視窗打 python tool.py,就會彈出視窗,試撳「揀資料夾」→「開始合併」。想再進一步,可以用 pyinstaller 打包成一個 .exe 檔,連 Python 都唔使裝,雙擊即用,仲可以換埋圖示,同事完全唔覺佢係「寫出嚟」嘅。
總結
Python 教學:一個好用嘅自動化 Script,唔止要跑得啱,仲要畀同事敢用。用 tkinter 幾十行 code 包一層小視窗,就將「命令列」變成「一撳即用」嘅公司工具,門檻大減、出錯機會亦跟住跌。下次寫完 Script,不妨花多十分鐘加個介面——你會發現,同事由「唔敢用」變成「日日用」,先真正慳到時間。