一个用来装逼的利器

by Liu Yue/2012-03-01
termcolor是一个python包,可以改变控制台输出的颜色,支持各种terminal(WINDOWS的cmd.exe除外)。

它支持下列的文字颜色:
grey, red, green, yellow, blue, magenta, cyan, white

支持下列的背景高亮:
on_grey, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white

支持下列属性:
bold, dark, underline, blink, reverse, concealed

主流terminal对属性的支持如下:
Terminal bold dark underline blink reverse concealed
xterm yes no yes bold yes yes
linux yes yes bold yes yes no
rxvt yes no yes bold/black yes no
dtterm yes yes yes reverse yes yes
teraterm reverse no yes rev/red yes no
aixterm normal no yes no yes yes
PuTTY color no yes no yes no
Windows no no no no yes no
Cygwin SSH yes no color color color yes
Mac Terminal yes no yes yes yes yes

示例代码:
import sys
from termcolor import colored, cprint

text = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])  
print(text)  
cprint('Hello, World!', 'green', 'on_red')  

print_red_on_cyan = lambda x: cprint(x, 'red', 'on_cyan')  
print_red_on_cyan('Hello, World!')  
print_red_on_cyan('Hello, Universe!')  

for i in range(10):  
    cprint(i, 'magenta', end=' ')  

cprint("Attention!", 'red', attrs=['bold'], file=sys.stderr)