Skip to content

[Python] 在終端機中輸出有顏色的文字

在使用 Python 進行程式的撰寫時,有時候我們會希望我們印出的文字在終端機上能夠顯示出不同的顏色;一來這樣賞心悅目、二來可以區分不同的重點——例如我現在之所以會寫下這篇心得筆記來紀錄如何印出『不同顏色的文字』,就是因為在寫各種不同的測試腳本時,希望畫面上印出的資訊能夠區分不同的程式段落。

寫了那麼多,差不多該進入重點了。我今天要紀錄的,是 Python 中一個相當有名的套件: “colorama”。他們在 PyPI 上的說明已經非常清楚了,可以參考我文末所賦的參考連結。


“colorama” 的使用

如果是第一次使用這個套件,那想必電腦中的 Python 環境裡並沒有裝設這個套件,我們需要以以下指令 (或由不同 IDE 所提供的安裝方式) 來安裝這個套件:

pip3 install colorama

基本上,”colorama” 字串的呈現分成『文字顏色』和『背景顏色』兩個部份,大家可以嘗試看看各種組合。而 “colorama” 所提供的顏色有以下幾種:

Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.

Fore 是文字顏色、Back 則是背景顏色。

那麼,以下我們來寫個測試用的腳本,由於使用方法相當簡易,故不再冗餘說明:

from colorama import init, Fore, Back

init(autoreset=True)
print("This is a test...")
print(Fore.RED + "Hello")
print(Fore.YELLOW + "World!")
print(Fore.BLACK + Back.WHITE + "Good day!")



Output:

看起來,至少在我的 Terminal 當中是正常顯示了,效果相當不錯。
另外值得一提的是,就算是在我 PyCharm IDE 當中,一樣能夠在印出文字時使用顏色。

不過在這次測試當中,我所選擇的『白底黑字』 “Good day!” 並沒有正常顯示,不能保證在像是 PyCharm 這類 IDE 當中都能跟 Terminal 保持一樣顏色。


後記

終於到了我能暢所欲言的時候了。我的感想是:這個套件真是太棒了!其實昨天晚上,我開始使用 Python 當中的著名機器學習框架、不同的模型,來針對我想完成的任務進行實驗。

在這樣的過程中,我印出了許多模型層架構、激活函數設定、迭代次數、模型數值指標……然而在這樣的過程中,我一直在使用字串『畫分隔線』,試圖區分不同模型。然而,就算是在不同模型中,我所印出的 Log 也是非常雜亂。

老實講,”colorama” 拯救了我 (的眼睛)。現在,我只要輕鬆一瞥,就能看出哪個部份是哪個模型、並且重要的數值指標我都有 Highlight 起來!

這個套件真的是相當不錯呢!


References

Leave a Reply