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!")
参考资料:
阅读(21995) | 评论(0) | 转发(0) |