Python如何在終端彩色打印輸出
1.引言
創(chuàng)建命令行程序很棒:命令行可以按照我們的設定完成相應的工作,相比GUI界面程序,無需花費數(shù)小時嘗試使 GUI 正常工作。但有時最好有一個更吸引人的程序,而僅使用普通的打印功能是無法直接實現(xiàn)的。
一個很好的折衷方案是使用colorama庫。這使我們可以非常輕松地為終端上輸出的字符串著色,并且改善程序的界面外觀。
閑話少說,接下來讓我們看看如何使用它吧!
2.工作原理
這個庫背后的實現(xiàn)原理非常簡單,它通常使用 ANSA轉(zhuǎn)義字符序列。當終端讀取這些序列之一時,它并不會輸出。當終端被指示為下一個輸出時它采用之前設定的顏色進行相應的輸出。
舉例來說,字符串\033[92m
代表顏色綠色,字符串\033[0m
被用來將終端的顏色設置為標準的默認色(通常為黑色)。樣例代碼如下:
GREEN = '\033[92m' END_COLOR = '\033[0m' print(GREEN + "Hello World" + END_COLOR) print("Hello word 2022!")
上述代碼輸出如下:
3.使用Colorama庫
現(xiàn)在我們明白了上述庫的工作原理,接下來我們來使用它。首先是安裝,還是使用pip直接進行安裝,命令行如下:
pip install colorama
安裝完成后,接著我們可以開始編碼了。在腳本開頭添加以下初始化代碼是一種很好的編程寫法(在windows系統(tǒng)中比如顯示調(diào)用init函數(shù)):
from colorama import init init()
這用于確保 Windows 命令行正確處理 ANSA字符串序列。否則,它只會打印出字符序列。
如果您使用的是其他操作系統(tǒng),此時init()函數(shù)將什么事情也不做,但是建議大家仍應該將其顯式放入我們的程序中,以確保我們的程序可以在任何平臺上正常工作。
現(xiàn)在我們可以開始來使用這個庫了。主要分為三個子類:
Fore ,用于改變輸出文本的顏色;Style,用于改變輸出文本的亮度;Back,用于改變輸出文本的背景(即突出顯示文本)。
4.改變輸出文本顏色
接著我們可以從改變文本的顏色開始,Colorama 允許我們使用八種不同的顏色:黑色(black)、紅色(red)、綠色(green)、黃色(yellow)、藍色(blue)、洋紅色(magenta)、青色(cyan)、白色(white)。它們在 Fore 類中作為變量實現(xiàn)。他們的名字就是顏色的名字,全部大寫。例如:
from colorama import Fore, init init() print('Now is not colored') print(Fore.RED + 'some red text') print(Fore.GREEN + 'some green text') print(Fore.MAGENTA + 'some magenta text') print(Fore.RESET + 'Back to normal')
輸出如下:
上述代碼很容易實現(xiàn),正如我們看到的,我們還使用了另一個變量RESET,這主要用于恢復文本的原始顏色。
5.改變輸出文本背景
接下來我們將介紹的類為Back
, 它實現(xiàn)了與Fore
類相同的九個關鍵字:BLACK、RED、GREEN、YELLOW、BLUE、MAGENTA、CYAN、WHITE、RESET。
此時在這種背景下,設置的顏色將用于更改輸出文本的背景(即突出顯示文本)。舉例如下:
from colorama import Back, init init() print('Now is not highlighted') print(Back.RED + 'some red background') print(Back.GREEN + 'some green background') print(Back.MAGENTA + 'some magenta background') print(Back.RESET + 'Back to normal')
輸出如下:
6.改變輸出文本亮度
最后,我們可以使用 Style
類來改變輸出文本的亮度。該子類含有以下三個主要的關鍵字:
BRIGHT
使得輸出文本變亮DIM
使得輸出的文本變暗(盡管它看起來與普通文本相同)NORMAL
是的輸出的文本變成正常的亮度
舉例如下:
from colorama import Style, init init() print('Normal text') print(Style.BRIGHT + 'Bright text') print(Style.NORMAL + 'Normal text')
樣例輸出如下:
此外,該類還實現(xiàn)了 RESET_ALL 關鍵字,用于將所有內(nèi)容(亮度、顏色、背景)重置為正常值。舉例如下:
from colorama import Fore, Back, Style, init init() print(Style.BRIGHT + 'Now the text is bright') print(Fore.RED + 'Now the text is bright and red') print(Back.GREEN + 'Now the text is bright, red and with green background') print(Style.RESET_ALL + 'Now everything is back to normal')
輸出如下:
7. 總結
本文重點介紹了在Python中使用Colorama
類來改變終端輸出文字的顏色,亮度和背景,并針對每類情形都進行了舉例闡明。
到此這篇關于Python如何在終端彩色打印輸出的文章就介紹到這了,更多相關Python彩色打印輸出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
通過Python實現(xiàn)自動填寫調(diào)查問卷
這篇文章主要介紹了通過Python實現(xiàn)自動填寫調(diào)查問卷的相關資料,需要的朋友可以參考下2017-09-09詳解Python的迭代器、生成器以及相關的itertools包
這篇文章主要介紹了詳解Python的迭代器、生成器以及相關的itertools包,Iterators、Generators是Python的高級特性,亦是Python學習當中必會的基本知識,需要的朋友可以參考下2015-04-04