Shell终端输出的字符默认为黑底灰字。如何能够通过Shell的属性改变其颜色呢?这就需要使用颜色相关的控制串(control sequences)。
Shell的control sequences位于‘\[\033[’与‘\]’之间,而与颜色相关的control sequences位于‘\[\033[’与‘m\]’之间。
在Python中,直接以'\033[字体风格;前景色;背景色m'的形式设置终端输出的颜色。具体颜色值如下:
字体风格 | 前景色 | 背景色 |
0 - Reset | 30 - Black | 40 - Black |
1 - FG Bright (Light) | 31 - Red | 41 - Red |
2 - Unknown | 32 - Green | 42 - Green |
3 - Unknown | 33 - Yellow | 43 - Yellow |
4 - Underline | 34 - Blue | 44 - Blue |
5 - BG Bright (Blink) | 35 - Magenta | 45 - Magenta |
6 - Unknown | 36 - Cyan | 46 - Cyan |
7 - Reverse | 37 - White | 47 - White |
8 - Conceal |
- 如,'\033[0;31m'表示红字黑底
- 如,'\033[1;33;44m'表示黄字蓝底
- 默认颜色格式'\033[0m',即不采用任何颜色设置属性
在Python中,使用如下:
...
print(message, sep='\033[1;33;44m', end='\033[0m')
...
参考链接:
http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
http://edoceo.com/howto/bash