1. 程式人生 > 其它 >Python輸出帶顏色的文字

Python輸出帶顏色的文字

技術標籤:PythonPython輸出文字顏色

在使用python運維與開發的過程中,經常需要列印顯示各種資訊。海量的資訊堆砌在控制檯中,就會導致各種資訊都顯示在一起,降低了重要資訊的可讀性。這時候如果能給重要的資訊加上差異的字型顏色,那麼就會更加顯眼,提高可閱讀性。

說明:
前景色         背景色           顏色
---------------------------------------
30                40              黑色
31                41              紅色
32                42
綠色 33 43 黃色 34 44 藍色 35 45 洋紅 36 46 青色 37 47 白色 顯示方式   意義 ---------------------------------- 0 終端預設設定 1 高亮顯示 22
           非高亮顯示 4 使用下劃線 24           去下劃線 5 閃爍 25           去閃爍 7 反顯 27           非反顯 8 不可見 28           可見 例: \033[1;32;41m #---1-高亮顯示 32-前景色綠色 41-背景色紅色--- \033[0m #---採用終端預設設定,即取消後面輸入的字型顏色---

實現過程:
終端的字元顏色是用轉義序列控制的,是文字模式下的系統顯示功能,和具體的語言無關。

轉義序列是以ESC開頭,即用\033來完成(ESC的ASCII碼用十進位制表示是27,用八進位制表示就是033)。

書寫格式:
開頭部分:\033[顯示方式;前景色;背景色m …,其中“…” 為要改變顏色的內容。
結尾部分:\033[0m,表示後面如果還有其他輸入的話恢復預設顏色列印。
注意:開頭部分的三個引數:顯示方式,前景色,背景色均是可選引數,可以只寫其中的某一個;另外由於表示三個引數不同含義的數值都是唯一的、沒有重複的,所以三個引數的書寫先後順序沒有固定要求,系統都能識別;但是,建議按照預設的格式規範書寫。
對於結尾部分,其實也可以省略,但是為了書寫規範,建議\033[***開頭,\033[0m結尾。

數值引數表示的含義:
顯示方式:0(預設)、1(高亮)、22(非粗體)、4(下劃線)、24(非下劃線)、 5(閃爍)、25(非閃爍)、7(反顯)、27(非反顯)
前景色:30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋 紅)、36(青色)、37(白色)
背景色:40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍色)、45(洋 紅)、46(青色)、47(白色)

示例:

print('預設顏色')
print('\033[1;30;41m')     #下一目標輸出背景為紅色,顏色為黑色高亮顯示
print('*' * 50)
print('\033[7;31;37m錯誤次數超限,使用者已被永久鎖定,請聯絡管理員!\033[1;30;41m')  #字型顏色紅色反白處理,下一目標輸出背景為紅色,顏色為黑色高亮顯示
print('*' * 50)
print('\033[0m')           #下一目標輸出恢復為預設設定
print('已恢復')

結果為:
在這裡插入圖片描述