如何使用python输出颜色?

how to make colors output using python?

本问题已经有最佳答案,请猛点这里访问。

我刚接触过python(大约一周或更短时间),现在使用的是python 2.7。

我正在编写一个程序来检查IP验证和类,我想用彩色输出,这样用户在终端上就能更容易阅读。

我已经尝试过了:

1
2
3
4
# to make the text purple for example.
print '\033[95m' +"This is a purple output"
# if i'm writing another simple print after the first one it will be purple too
print"Example" # now this statement purple too

但当我使用这个例子时,第一个打印方法之后的输出也变成紫色。

谢谢大家的努力。


通过打印转义码\033[0m可以重置颜色:

1
2
>>> print '\033[95m' +"This is a purple output" + '\033[0m'
This is a purple output

或者,您可以使用colorama包:

1
2
3
>>> from colorama import Fore
>>> print Fore.LIGHTMAGENTA_EX +"This is a purple output" + Fore.RESET
This is a purple output


我认为这是我能想到的最好的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class FontColors:
    def __init__(self):
        self.PURP = '\033[95m'
        self.LIGHTBLUE = '\033[94m'
        self.ENDC = '\033[0m'
        self.UNDERLINE = '\033[4m'
        self.LIGHTYELL = '\033[92m'
        self.BYELL = '\033[93m'
        self.FRED = '\033[91m'
        self.BOLD = '\033[1m'

color = FontColors()

# you can try like this - **the color.ENDC meant to make the output normal again.**
print"{0}This is a Purple output{1}".format(color.PURP, color.ENDC)
# or like this
print color.BYELL +"This is a Yellow output" + color.ENDC

感谢@forstru帮助我解决这个问题。