Python程序,print输出的文本可以显示不同的颜色?
这个其实跟python无关,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控制码。linux终端中的颜色是用转义序列控制的,转义序列以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示是27,用八进制表示33),其格式为:
\033[显示方式;前景色;背景色m
显示方式、前景色、背景色至少一个存在即可,位置可随意。
前景色 背景色 颜色
---------------------------------------
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;5;33;44;4mHello, world\033[0m"
<!--1-高亮 5-闪烁 33-前景色 44-背景色 4-下划线-->
<!-- \033[0m 采用终端默认设置,即取消颜色设置-->
Linux 系统中,可以使用printf命令:
printf "\033[1;32m host : \033[0m \n"