首頁 > 軟體

詳解Python如何在終端列印字型顏色

2022-10-18 14:01:22

簡介

日常開發中,經常需要列印顯示各種資訊。海量的資訊堆砌在控制檯中,就會導致各種資訊都顯示在一起,降低了重要資訊的可讀性。這時候,如果能給重要的資訊加上差異的字型顏色,那麼就會更加顯眼,增加使用者可閱讀性。Colorama是一個python專門用來在控制檯、命令列輸出彩色文字的模組,可以跨平臺使用。

字型列印的三種方式:

1、原生:推薦只處理一兩句,臨時使用的時候用原生。

2、colorama模組:使用的地方很多的時候,推薦使用這個,易讀性更高。

3、termcolor模組:不推薦。

安裝方式

pip install colorama
pip install termcolor

原生方式列印:33[顯示方式;字型色;背景色m…[33[0m

設定環境變數

前景色背景色顏色
3040黑色
3141紅色
3242綠色
3343黃色
3444藍色
3545洋紅
3646青色
3747白色

顯示方式               意義

顯示方式意義
0終端預設設定
1高亮顯示
22非高亮顯示
4使用下劃線
24去下劃線
5閃爍
25去閃爍
7反白顯示
27非反顯
8不可見
28可見

例如:

033[1;32;41m   # 1-高亮顯示 32-前景色綠色  40-背景色紅色---
33[0m          # 採用終端預設設定,即預設顏色---

顯示顏色格式:33[顯示方式;字型色;背景色m......[33[0m

書寫格式:
開頭部分:33[顯示方式;前景色;背景色m + 結尾部分:33[0m

解釋:

開頭部分的三個引數:顯示方式,前景色,背景色是可選引數,可以只寫其中的某一個;

由於表示三個引數不同含義的數值都是唯一的沒有重複的,所以三個引數的書寫先後順序沒有固定要求,系統都能識別;

建議按照預設的格式規範書寫。

對於結尾部分,其實對後續輸出資訊的顏色樣式定義,一般設定為系統預設,也可以省略,但是為了顯示和書寫規範,建議33[***開頭,33[0m結尾。

案例原始碼

# -*- coding: utf-8 -*-
# time: 2022/10/3 10:30
# file: color.py
# 公眾號: 玩轉測試開發
import sys
from termcolor import colored, cprint
from colorama import Fore, Back, Style


def primal_print():
    # 通用格式:033[1;31m + mes + 033[0m
    mes1 = "我是紅色"
    print("33[1;31m" + mes1 + "33[0m")

    mes2 = "我是綠色"
    print("33[1;32m" + mes2 + "33[0m")

    # 組合的方式:如 下劃線 - 紅色字型 - 背景黑色
    mes3 = "我是組合的方式"
    print("33[4;31;40m" + mes3 + "33[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 + "丙是藍色")

    # 重置設定,還原預設設定
    print(Style.RESET_ALL)

    # 字型背景色
    print(Back.RED + "A的背景色為紅色")
    print(Back.GREEN + "B的背景色為綠色")
    print(Back.BLUE + "C的背景色為藍色")

    # 重置設定,還原預設設定
    print(Style.RESET_ALL)

    # 字型加粗
    print(Style.BRIGHT + "字型加粗")

    # 組合
    print(Fore.RED + Back.GREEN + Style.BRIGHT + "綠底紅字加粗")

    # 重置設定,還原預設設定
    print(Style.RESET_ALL + "普通字型")


if __name__ == '__main__':
    primal_print()
    print("*" * 80)
    termcolor_demo()
    print("*" * 80)
    color_demo()

執行結果:

本質上colorama和termcolor只是對源生的封裝。

即:python列印終端字型格式,只處理一兩句,臨時使用的時候用源生,使用的地方很多的時候,推薦使用這個colorama模組,易讀性更高。

以上就是詳解Python如何在終端列印字型顏色的詳細內容,更多關於Python終端列印字型顏色的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com