32ewdq 发表于 2015-12-4 09:01:17

Python在linux中输出带颜色的文字的方法

Python程序,print输出的文本可以显示不同的颜色?
这个其实跟python无关,跟具体所用console的类型有关系,不同的类型对应不同的控制码,如果是ansi终端,可以用ansi的控制码。linux终端中的颜色是用转义序列控制的,转义序列以ESC开头,可以用\033完成相同的工作(ESC的ASCII码用十进制表示是27,用八进制表示33),其格式为:

1
\033[显示方式;前景色;背景色m




显示方式、前景色、背景色至少一个存在即可,位置可随意。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
前景色            背景色             颜色
------------------------------------------
30                40               黑色
31                41               红色
32                42               绿色
33                43               黃色
34                44               蓝色
35                45               紫红色
36                46               青蓝色
37                47               白色
显示方式         意义
------------------------------
0                终端默认设置
1                高亮显示
4                使用下划线
5                闪烁
7                反白显示
8                不可见




例子:

1
2
3
>>> print "\033[1;5;33;44;4mHello, world\033[0m"
    <!--1-高亮 5-闪烁 33-前景色 44-背景色 4-下划线-->
    <!-- \033[0m采用终端默认设置,即取消颜色设置-->





页: [1]
查看完整版本: Python在linux中输出带颜色的文字的方法