詳解Python如何在終端打印字體顏色
簡(jiǎn)介
日常開發(fā)中,經(jīng)常需要打印顯示各種信息。海量的信息堆砌在控制臺(tái)中,就會(huì)導(dǎo)致各種信息都顯示在一起,降低了重要信息的可讀性。這時(shí)候,如果能給重要的信息加上差異的字體顏色,那么就會(huì)更加顯眼,增加使用者可閱讀性。Colorama是一個(gè)python專門用來在控制臺(tái)、命令行輸出彩色文字的模塊,可以跨平臺(tái)使用。
字體打印的三種方式:
1、原生:推薦只處理一兩句,臨時(shí)使用的時(shí)候用原生。
2、colorama模塊:使用的地方很多的時(shí)候,推薦使用這個(gè),易讀性更高。
3、termcolor模塊:不推薦。
安裝方式
pip install colorama pip install termcolor
原生方式打印:33[顯示方式;字體色;背景色m…[33[0m
設(shè)置環(huán)境變量
前景色 | 背景色 | 顏色 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 紅色 |
32 | 42 | 綠色 |
33 | 43 | 黃色 |
34 | 44 | 藍(lán)色 |
35 | 45 | 洋紅 |
36 | 46 | 青色 |
37 | 47 | 白色 |
顯示方式 意義
顯示方式 | 意義 |
---|---|
0 | 終端默認(rèn)設(shè)置 |
1 | 高亮顯示 |
22 | 非高亮顯示 |
4 | 使用下劃線 |
24 | 去下劃線 |
5 | 閃爍 |
25 | 去閃爍 |
7 | 反白顯示 |
27 | 非反顯 |
8 | 不可見 |
28 | 可見 |
例如:
033[1;32;41m # 1-高亮顯示 32-前景色綠色 40-背景色紅色--- 33[0m # 采用終端默認(rèn)設(shè)置,即缺省顏色---
顯示顏色格式:33[顯示方式;字體色;背景色m......[33[0m
書寫格式:
開頭部分:33[顯示方式;前景色;背景色m + 結(jié)尾部分:33[0m
解釋:
開頭部分的三個(gè)參數(shù):顯示方式,前景色,背景色是可選參數(shù),可以只寫其中的某一個(gè);
由于表示三個(gè)參數(shù)不同含義的數(shù)值都是唯一的沒有重復(fù)的,所以三個(gè)參數(shù)的書寫先后順序沒有固定要求,系統(tǒng)都能識(shí)別;
建議按照默認(rèn)的格式規(guī)范書寫。
對(duì)于結(jié)尾部分,其實(shí)對(duì)后續(xù)輸出信息的顏色樣式定義,一般設(shè)置為系統(tǒng)默認(rèn),也可以省略,但是為了顯示和書寫規(guī)范,建議33[***開頭,33[0m結(jié)尾。
案例源碼
# -*- coding: utf-8 -*- # time: 2022/10/3 10:30 # file: color.py # 公眾號(hào): 玩轉(zhuǎn)測(cè)試開發(fā) import sys from termcolor import colored, cprint from colorama import Fore, Back, Style def primal_print(): # 通用格式:033[1;31m + mes + 033[0m mes1 = "我是紅色" print("\033[1;31m" + mes1 + "\033[0m") mes2 = "我是綠色" print("\033[1;32m" + mes2 + "\033[0m") # 組合的方式:如 下劃線 - 紅色字體 - 背景黑色 mes3 = "我是組合的方式" print("\033[4;31;40m" + mes3 + "\033[0m") def termcolor_demo(): text = colored('Hello, World!', 'red', attrs=['reverse', 'blink']) print(text) cprint('Hello, World!', 'green', 'on_red') print_red_on_cyan = lambda x: cprint(x, 'red', 'on_cyan') print_red_on_cyan('Hello, World!') print_red_on_cyan('Hello, Universe!') for i in range(3): cprint(str(i), 'magenta', end=' ') print() def color_demo(): # 字體顏色 print(Fore.RED + "甲是紅色") print(Fore.GREEN + "乙是綠色") print(Fore.BLUE + "丙是藍(lán)色") # 重置設(shè)置,還原默認(rèn)設(shè)置 print(Style.RESET_ALL) # 字體背景色 print(Back.RED + "A的背景色為紅色") print(Back.GREEN + "B的背景色為綠色") print(Back.BLUE + "C的背景色為藍(lán)色") # 重置設(shè)置,還原默認(rèn)設(shè)置 print(Style.RESET_ALL) # 字體加粗 print(Style.BRIGHT + "字體加粗") # 組合 print(Fore.RED + Back.GREEN + Style.BRIGHT + "綠底紅字加粗") # 重置設(shè)置,還原默認(rèn)設(shè)置 print(Style.RESET_ALL + "普通字體") if __name__ == '__main__': primal_print() print("*" * 80) termcolor_demo() print("*" * 80) color_demo()
執(zhí)行結(jié)果:
本質(zhì)上colorama和termcolor只是對(duì)源生的封裝。
即:python打印終端字體格式,只處理一兩句,臨時(shí)使用的時(shí)候用源生,使用的地方很多的時(shí)候,推薦使用這個(gè)colorama模塊,易讀性更高。
以上就是詳解Python如何在終端打印字體顏色的詳細(xì)內(nèi)容,更多關(guān)于Python終端打印字體顏色的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
對(duì)Python模塊導(dǎo)入時(shí)全局變量__all__的作用詳解
今天小編就為大家分享一篇對(duì)Python模塊導(dǎo)入時(shí)全局變量__all__的作用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python打包后的exe還原成.py的實(shí)現(xiàn)步驟
本文主要介紹了Python打包后的exe還原成.py的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Pygame實(shí)戰(zhàn)之檢測(cè)按鍵正確的小游戲
這篇文章主要為大家介紹了利用Pygame模塊實(shí)現(xiàn)的檢測(cè)按鍵正確的小游戲:每個(gè)字母有10秒的按鍵時(shí)間,如果按對(duì),則隨機(jī)產(chǎn)生新的字符,一共60s,如果時(shí)間到了,則游戲結(jié)束。快來跟隨小編一起學(xué)習(xí)一下吧2021-12-12python發(fā)送json參數(shù)的實(shí)例代碼
在寫腳本的過程中,除了發(fā)送form表單參數(shù)之外,我們還會(huì)發(fā)送json格式的參數(shù)。那么碰見json格式要怎么發(fā)送呢,這篇我們來解決這個(gè)問題,需要的朋友可以參考下2019-10-10python3.x 生成3維隨機(jī)數(shù)組實(shí)例
今天小編就為大家分享一篇python3.x 生成3維隨機(jī)數(shù)組實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11淺談python中str字符串和unicode對(duì)象字符串的拼接問題
今天小編就為大家分享一篇淺談python中str字符串和unicode對(duì)象字符串的拼接問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12用python實(shí)現(xiàn)九九乘法表實(shí)例
大家好,本篇文章主要講的是用python實(shí)現(xiàn)九九乘法表實(shí)例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01