Python 命令行輸出的顏色設置


Console上運行的python程序,有沒有辦法讓print輸出的文本可以顯示不同的顏色?
這個其實跟python無關,跟具體所用console的類型有關系,不同的類型對應不同的控制碼,如果是ansi終端,可以用ansi的控制碼。
--------------------------------------以Linux的ansi終端為例----------------------------------
\33[0m 關閉所有屬性
\33[1m 設置高亮度
\33[4m 下划線
\33[5m 閃爍
\33[7m 反顯
\33[8m 消隱
\33[30m -- \33[37m 設置前景色
字顏色:30-----------37
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
\33[40m -- \33[47m 設置背景色
字背景顏色范圍:40----47
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
\33[90m -- \33[97m 黑底彩色
90:黑
91:深紅
92:綠
93:黃色
94:藍色
95:紫色
96:深綠
97:白色
\33[nA 光標上移n行
\33[nB 光標下移n行
\33[nC 光標右移n行
\33[nD 光標左移n行
\33[y;xH設置光標位置
\33[2J 清屏
\33[K 清除從光標到行尾的內容
\33[s 保存光標位置
\33[u 恢復光標位置
\33[?25l 隱藏光標
\33[?25h 顯示光標
在python輸出信息時,例如print,只要加上對應的控制碼對【\33[91m + info + \33[0m】就可以控制輸出的信息顏色背景等。
簡單的實例:
class Logger:                                                                      
        HEADER = '\033[95m'                                                        
        OKBLUE = '\033[94m'                                                        
        OKGREEN = '\033[92m'                                                       
        WARNING = '\033[93m'                                                       
        FAIL = '\033[91m'                                                          
        ENDC = '\033[0m'                                                           
        @staticmethod                                                              
        def log_normal(info):                                                      
                print Logger.OKBLUE + info + Logger.ENDC                           
        @staticmethod                                                              
        def log_high(info):                                                        
                print Logger.OKGREEN + info + Logger.ENDC                          
        @staticmethod                                                              
        def log_fail(info):                                                        
                print Logger.FAIL + info + Logger.ENDC   
使用:
Logger.log_normal("This is a normal message!")
Logger.log_fail("This is a fail message!")
Logger.log_high("This is a high-light message!")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM