如何使用python进行颜色输出? [复制]
Posted
技术标签:
【中文标题】如何使用python进行颜色输出? [复制]【英文标题】:how to make colors output using python? [duplicate] 【发布时间】:2016-10-30 12:07:27 【问题描述】:我是 python 新手(大约一周或更短时间),我使用的是 python 2.7。
我正在编写一个程序来检查 ip 验证和类,并且我想以彩色输出,所以它在终端上对用户来说更具可读性。
我已经试过了:
# 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
但是当我使用这个例子时,第一个打印方法之后的输出也会变成紫色。
感谢所有尝试的人。
【问题讨论】:
你可以这样做: print '\033[95m' + "This is a Purple output" + '\033[0m' 哦,我没看到那个帖子。对不起 【参考方案1】:通过打印转义码\033[0m
,可以重置颜色:
>>> print '\033[95m' + "This is a purple output" + '\033[0m'
This is a purple output
或者,您可以使用colorama
package:
>>> from colorama import Fore
>>> print Fore.LIGHTMAGENTA_EX + "This is a purple output" + Fore.RESET
This is a purple output
【讨论】:
谢谢你,但我需要一个更有效的方法。 @shemesh,你如何定义高效? 我认为这个 '\033[95m' 没有必要,我的意思是当你阅读代码时它看起来并不那么好。我可以使用所有颜色值的类吗? @shemesh,我添加了一个使用第三方包colorama
的替代解决方案。看看吧。
谢谢你看看我的解决方案,感谢你的帮助。【参考方案2】:
我认为这是我能想到的最好方法。
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 "0This is a Purple output1".format(color.PURP, color.ENDC)
# or like this
print color.BYELL + "This is a Yellow output" + color.ENDC
感谢 @falsetru 帮助我解决这个问题。
【讨论】:
您不需要自己定义它们。检查我更新的答案。 知道了,谢谢。我会投票给你,但我还不能。以上是关于如何使用python进行颜色输出? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中使用 softmax 输出进行神经网络和机器学习来解释多项 Logit 模型? [复制]