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 = '33[95m'                                                        
        OKBLUE = '33[94m'                                                        
        OKGREEN = '33[92m'                                                       
        WARNING = '33[93m'                                                       
        FAIL = '33[91m'                                                          
        ENDC = '33[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!")

原文地址:https://www.cnblogs.com/chjbbs/p/5706513.html