Python輸出帶顏色的文字
阿新 • • 發佈:2020-12-12
在使用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 #---採用終端預設設定,即取消後面輸入的字型顏色---
實現過程:
終端的字元顏色是用轉義序列控制的,是文字模式下的系統顯示功能,和具體的語言無關。
書寫格式:
開頭部分:\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('已恢復')
結果為: