詳解Python如何在終端打印字體顏色
簡介
日常開發(fā)中,經(jīng)常需要打印顯示各種信息。海量的信息堆砌在控制臺中,就會導致各種信息都顯示在一起,降低了重要信息的可讀性。這時候,如果能給重要的信息加上差異的字體顏色,那么就會更加顯眼,增加使用者可閱讀性。Colorama是一個python專門用來在控制臺、命令行輸出彩色文字的模塊,可以跨平臺使用。
字體打印的三種方式:
1、原生:推薦只處理一兩句,臨時使用的時候用原生。
2、colorama模塊:使用的地方很多的時候,推薦使用這個,易讀性更高。
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 | 藍色 |
35 | 45 | 洋紅 |
36 | 46 | 青色 |
37 | 47 | 白色 |
顯示方式 意義
顯示方式 | 意義 |
---|---|
0 | 終端默認設(shè)置 |
1 | 高亮顯示 |
22 | 非高亮顯示 |
4 | 使用下劃線 |
24 | 去下劃線 |
5 | 閃爍 |
25 | 去閃爍 |
7 | 反白顯示 |
27 | 非反顯 |
8 | 不可見 |
28 | 可見 |
例如:
033[1;32;41m # 1-高亮顯示 32-前景色綠色 40-背景色紅色--- 33[0m # 采用終端默認設(shè)置,即缺省顏色---
顯示顏色格式:33[顯示方式;字體色;背景色m......[33[0m
書寫格式:
開頭部分:33[顯示方式;前景色;背景色m + 結(jié)尾部分:33[0m
解釋:
開頭部分的三個參數(shù):顯示方式,前景色,背景色是可選參數(shù),可以只寫其中的某一個;
由于表示三個參數(shù)不同含義的數(shù)值都是唯一的沒有重復的,所以三個參數(shù)的書寫先后順序沒有固定要求,系統(tǒng)都能識別;
建議按照默認的格式規(guī)范書寫。
對于結(jié)尾部分,其實對后續(xù)輸出信息的顏色樣式定義,一般設(shè)置為系統(tǒng)默認,也可以省略,但是為了顯示和書寫規(guī)范,建議33[***開頭,33[0m結(jié)尾。
案例源碼
# -*- coding: utf-8 -*- # time: 2022/10/3 10:30 # file: color.py # 公眾號: 玩轉(zhuǎn)測試開發(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 + "丙是藍色") # 重置設(shè)置,還原默認設(shè)置 print(Style.RESET_ALL) # 字體背景色 print(Back.RED + "A的背景色為紅色") print(Back.GREEN + "B的背景色為綠色") print(Back.BLUE + "C的背景色為藍色") # 重置設(shè)置,還原默認設(shè)置 print(Style.RESET_ALL) # 字體加粗 print(Style.BRIGHT + "字體加粗") # 組合 print(Fore.RED + Back.GREEN + Style.BRIGHT + "綠底紅字加粗") # 重置設(shè)置,還原默認設(shè)置 print(Style.RESET_ALL + "普通字體") if __name__ == '__main__': primal_print() print("*" * 80) termcolor_demo() print("*" * 80) color_demo()
執(zhí)行結(jié)果:
本質(zhì)上colorama和termcolor只是對源生的封裝。
即:python打印終端字體格式,只處理一兩句,臨時使用的時候用源生,使用的地方很多的時候,推薦使用這個colorama模塊,易讀性更高。
以上就是詳解Python如何在終端打印字體顏色的詳細內(nèi)容,更多關(guān)于Python終端打印字體顏色的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python打包后的exe還原成.py的實現(xiàn)步驟
本文主要介紹了Python打包后的exe還原成.py的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02淺談python中str字符串和unicode對象字符串的拼接問題
今天小編就為大家分享一篇淺談python中str字符串和unicode對象字符串的拼接問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12