實現過程:
終端的字符顏色使用轉義序列控制的,是文本模式下的系統顯示功能,和具體的語言無關。
轉義序列是以ESC開頭,即用\033來表示(ESC是ASCII碼用十進制表示是27,用八進制表示就是033)
書寫格式:
開頭部分:\033[顯示方式;前景色;背景色m + 結尾部分:\033[0m
注意:開頭部分的三個參數:顯示方式、前景色、背景色是可選參數,但是必須要寫一個。
由於三個參數不同含義的數值都是唯一的沒有重復,所以參數的書寫並沒有順序,系統都能夠識別。
數值表示的參數含義:
前景色 | 背景色 | 顏色 |
30 | 40 | 黑色 |
31 | 41 | 紅色 |
32 | 42 | 綠色 |
33 | 43 | 黃色 |
34 | 44 | 藍色 |
35 | 45 | 紫紅色 |
36 | 46 | 青藍色 |
37 | 47 | 白色 |
顯示方式的參數含義:
顯示方式 | 意義 |
0 | 終端默認設置 |
1 | 亮度顯示 |
4 | 使用下划線 |
5 | 閃爍 |
7 | 反顯 |
8 | 不可見 |
實際情況如下:
#!/usr/bin/env python #字體顏色 print('\033[30m黑色字體\033[0m') print('\033[31m紅色字體\033[0m') print('\033[32m綠色字體\033[0m') print('\033[33m黃色字體\033[0m') print('\033[34m藍色字體\033[0m') print('\033[35m紫色字體\033[0m') print('\033[36m青色字體\033[0m') print('\033[37m白色字體\033[0m') print('------------分割線----------------') print('\033[40m黑色背景\033[0m') print('\033[41m紅色背景\033[0m') print('\033[42m綠色背景\033[0m') print('\033[43m黃色背景\033[0m') print('\033[44m藍色背景\033[0m') print('\033[45m紫色背景\033[0m') print('\033[46m青色背景\033[0m') print('\033[47m白色背景\033[0m')
結果:
還有一些特殊操作:
print('\033[0m默認亮度\033[0m') print('\033[1m高亮顯示\033[0m') print('\033[4m下划線\033[0m') print('\033[5m閃爍\033[0m') print('\033[7m反取\033[0m') print('\033[8m不顯示\033[0m')
執行結果:
一般都是三個參數都會設置,就像這樣: