顯示顏色格式:\033[顯示方式;字體色;背景色m......[\033[0m
書寫格式:
開頭部分:\033[顯示方式;前景色;背景色m + 結尾部分:\033[0m
- 開頭部分的三個參數:顯示方式,前景色,背景色是可選參數,可以只寫其中的某一個;
- 由於表示三個參數不同含義的數值都是唯一的沒有重復的,所以三個參數的書寫先后順序沒有固定要求,系統都能識別;
- 建議按照默認的格式規范書寫。
- 對於結尾部分,其實對后續輸出信息的顏色樣式定義,一般設置為系統默認,也可以省略,但是為了顯示和書寫規范,建議\033[***開頭,\033[0m結尾。
前景色: 30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋 紅)、36(青色)、37(白色)
背景色: 40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍色)、45(洋 紅)、46(青色)、47(白色)
------------------------------------------- 字體色 | 背景色 | 顏色描述 ------------------------------------------- 30 | 40 | 黑色 31 | 41 | 紅色 32 | 42 | 綠色 33 | 43 | 黃色 34 | 44 | 藍色 35 | 45 | 紫紅色 36 | 46 | 青藍色 37 | 47 | 白色 ------------------------------------------- ------------------------------- 顯示方式 | 效果 ------------------------------- 0 | 終端默認設置 1 | 高亮顯示 4 | 使用下划線 5 | 閃爍 7 | 反白顯示 8 | 不可見 -------------------------------
print('\033[1;36m床前明月光,') print('疑是地上霜。') print('舉頭望明月,') print('低頭思故鄉。\033[0m')
出處:https://www.cnblogs.com/hanfe1/p/10664942.html
==================================================================================
我們在使用python運維與開發的過程中,經常需要打印顯示各種信息。海量的信息堆砌在控制台中,就會導致各種信息都顯示在一起,降低了重要信息的可讀性。這時候,如果能給重要的信息加上差異的字體顏色,那么就會更加顯眼,增加使用者可閱讀性。
以前看別人寫代碼總是出現"\033[1;31m......\033[0m" 類似出現,
我自己以為顏色輸出必須"\033[1;31m“開頭,” \033[0m" 結尾構成一組,其實不然。
實際上"\033[1;31m...................." 表示的意思是“....................“引號里的內容顯示打印一種顏色(紅色),
而后面的\033[0m表示,后續如果有需要顯示的內容,則顯示另外一種顏色(默認顏色樣式)。
例如我們先寫一個簡單的要求用戶輸入的例子來了解一下:

info = input("Please Introduce yourself: ") print('\033[1;33mWe asked him to introduce himself first.He said \" %s .\"\033[3;31m' %info) print('這行是上一行結尾的顏色輸出效果 ')
效果如圖:
第一行顯示的是默認顏色樣式
第二行是:\033[1;33m定義的顏色樣式
第三行是:\033[3;31m定義的顏色樣式,也就是第二行最后設置的
一般情況是在末尾設置成系統默認顏色樣式,使用:\033[0m
如果只需要一種顏色我們就可以簡單一點:

#!/usr/bin/env python #-*- coding:utf-8 -*- print('\033[0m這是顯示方式0') print('\033[1m這是顯示方式1') print('\033[4m這是顯示方式4') print('\033[5m這是顯示方式5') print('\033[7m這是顯示方式7') print('\033[8m這是顯示方式8') print('\033[30m這是前景色0') print('\033[31m這是前景色1') print('\033[32m這是前景色2') print('\033[33m這是前景色3') print('\033[34m這是前景色4') print('\033[35m這是前景色5') print('\033[36m這是前景色6') print('\033[37m這是前景色7') print('\033[40m這是背景色0') print('\033[41m這是背景色1') print('\033[42m這是背景色2') print('\033[43m這是背景色3') print('\033[44m這是背景色4') print('\033[45m這是背景色5') print('\033[46m這是背景色6') print('\033[47m這是背景色7')
Pytharm效果如圖:
書寫格式,和相關說明如下:
說明: 前景色 背景色 顏色 --------------------------------------- 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-前景色綠色 40-背景色紅色--- \033[0m #---采用終端默認設置,即缺省顏色---
*具體格式*:
設置顏色開始 :\033[顯示方式;前景色;背景色m
注:';'前后的三個參數:顯示方式,前景色,背景色是可選參數,可以只寫其中的某一個或者某兩個;由於表示三個參數不同含義的數值都是唯一沒有重復的,所以三個參數的書寫先后順序沒有固定要求,系統都可識別;
建議按照默認的格式規范書寫
實現過程:











前景色:








背景色:








#!/usr/bin/env python #-*- coding:utf-8 -*- print('\033[1;31;40m') #下一目標輸出背景為黑色,顏色紅色高亮顯示 print('*' * 50) print('\033[7;31m錯誤次數超限,用戶已被永久鎖定,請聯系管理員!\033[1;31;40m') #字體顏色紅色反白處理 print('*' * 50) print('\033[0m')
效果
出處:https://www.cnblogs.com/easypython/p/9084426.html
===========================================================================================
完整測試代碼:

#!/usr/bin/python # encoding: utf-8 # -*- coding: utf-8 -*- import os # 可以根據自己的需求,把常用的封裝起來,用的時候直接調用就可以了 class bcolors: cHEADER = '\033[95m' cOKBLUE = '\033[94m' cOKGREEN = '\033[92m' cWARNING = '\033[93m' cFAIL = '\033[91m' cBOLD = '\033[1m' cUNDERLINE = '\033[4m' cEND = '\033[0m' def test1(): print('\033[0m這是顯示方式0') print('\033[1m這是顯示方式1') print('\033[4m這是顯示方式4') print('\033[5m這是顯示方式5') print('\033[7m這是顯示方式7') print('\033[8m這是顯示方式8') print('\033[30m這是前景色0') print('\033[31m這是前景色1') print('\033[32m這是前景色2') print('\033[33m這是前景色3') print('\033[34m這是前景色4') print('\033[35m這是前景色5') print('\033[36m這是前景色6') print('\033[37m這是前景色7') print('\033[40m這是背景色0') print('\033[41m這是背景色1') print('\033[42m這是背景色2') print('\033[43m這是背景色3') print('\033[44m這是背景色4') print('\033[45m這是背景色5') print('\033[46m這是背景色6') print('\033[47m這是背景色7\033[0m') print('\033[2;36;43m這是綜合顏色\033[0m\n\n') def test2(): print('\033[3;36m床前明月光,') print('疑是地上霜。') print('舉頭望明月,') print('低頭思故鄉。\033[0m\n\n') if __name__ == '__main__': os.system('clear') os.system('clear') print("\n__name__ is "+__name__+"\n") test1() test2() #info = input("Please Introduce yourself: ") info="hahaha" print("----------") print('\033[1;33mWe asked him to introduce himself first.He said : \033[1;35m\" %s .\"\033[3;31m' %info) print('這行是上一行結尾的顏色輸出效果 \n\n') print(bcolors.cHEADER + "警告的顏色字體?" +bcolors.cEND) print(bcolors.cOKBLUE + "警告的顏色字體?" +bcolors.cEND) print(bcolors.cOKGREEN + "警告的顏色字體?\n" +bcolors.cEND) print('This is a \033[1;35m test \033[0m!') print('This is a \033[1;32;41m test \033[0m!') print('\033[1;33;44m This is a test ! \033[0m\n')
補充:
今天遇到一個奇怪的問題,在Windows下編寫好了的.py文件,copy到Linux中,直接執行,發現中文無法顯示
最后檢查發現,是Windows和Linux系統之間的編碼格式及換行等不統一,默認創建的txt文件不通用!~
比如在Windows下換行符號是\r\n,而Linux下的是\n。需要設置文件格式為:utf-8無BOM ,
我這里是一的是UltraEdit另存為的,你也可以使用其他文本編輯工具另存為試試看。