除了使用 PyQt 這樣的圖形化開發框架外,基本上 python 程序都是跑在控制檯中的。很多時候,單純使用黑白的文字不能很好地突出我們要顯示的信息。有時候我們需要將錯誤的提示使用紅色標註,而將成功的提示設置爲綠色。這時候,基礎的控制檯顯示操作就不能很好地滿足我們了。雖然我們可以使用 ANSI 來標註輸出字體的顏色,但是這樣需要記憶它的格式,不是特別方便。
這個時候,我們就可以通過 colorama 這個第三方模塊,用簡單的語法實現字體顏色的控制。接下來就來看看它有多神奇。
1. 安裝 colorama 模塊
$ pip install colorama
如果你使用 Anaconda 這樣的環境,它就會預裝 colorama 模塊。但是如果使用的是 miniconda ,這個時候就需要安裝一下:
$ conda install colorama
2. 使用 colorama 模塊
在使用 colorama 的字體顏色模式之前,需要先使用 init()
函數進行初始化。以下就是一個簡單的實例:
from colorama import init, Fore, Back, Style
init()
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.BRIGHT + 'and in bright text')
print(Style.RESET_ALL)
print('back to normal now')
其中, init()
函數可以傳入一個參數: autoreset
。默認值爲 False ,如果設置爲 True ,它就會在每一次輸出語句之後自動清空格式。
from colorama import init, Fore, Back, Style
init(autoreset=True)
print(Fore.BLUE + 'some blue text')
print(Back.CYAN + 'cyan background')
print(Style.DIM + 'in dim text')
print('auto set to normal now')
而 Fore, Back, Style
這三個類型,分別可以設置顯示字體的顯示風格。它需要連接到待輸出字符串的前面。其中 Fore 是前景色(字體顏色), Back 是背景色, Style 可以改變字體的顯示模式,同時也可以清空字體風格。這三個屬性可以設置的參數如下:
-
Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
-
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
-
Style: DIM, NORMAL, BRIGHT, RESET_ALL
結語與其他文檔
只需要通過幾個參數,就可以用 colorama 模塊進行簡單的顏色控制了。其實如同 Fore.RED
這樣的模式只是保存了一個 ANSI 的編碼。官方文檔中就有比較詳細的解釋: colorama-PyPI。如果想要更深層次地自定義,其實也可以自己將 ANSI 進行一定的封裝來使用更多的顏色。