Python 条件基础打印颜色字符串

Python condition base print color string

这是 python 脚本的最后一部分,我在其中打印以下值。

for i in data:
        print i[2], '|', i[12], '\t|', i[24].split('@')[-1], '\t|' , i[9]

输出:

[root@tux work]# ./fs.py
2015-04-24 11:53:31 | RINGING   |       N/A            | 15035205973
2015-04-24 11:53:31 | DOWN      |       N/A            | 00100017063156582
2015-04-24 11:53:33 | RINGING   |       N/A            | 19516828036
2015-04-24 11:53:00 | ACTIVE    | 72.xx.xx.120         | 19093929436
2015-04-24 11:53:05 | ACTIVE    | 72.xx.xx.120         | 13372528024

我正在尝试使用上面的 table 状态列 RINGINGACTIVEDOWN

来实现 color text 打印

i[12]持有状态栏

if RINGING = 'Yellow'
if ACTIVE  = 'Green'
if DOWN    = 'Red'

我发现以下 post 非常好,但不知道它如何适合 for 循环

Python Print Color Text

创建一个字典来保存颜色:

COLORS = {"RINGING": '3[93m', "ACTIVE": '3[92m', "DOWN": '3[91m', "ENDC": '3[0m'}

然后做类似的事情:

for i in data:
    print COLORS[i[12]],
    print i[2], '|', i[12], '\t|', i[24].split('@')[-1], '\t|' , i[9],
    print COLORS["ENDC"]