2011-06-30 21 views
22

我正在寻找一种方法来改变我的Python脚本运行时输出的文本的颜色。基本思路是这样的:更改shell文本颜色(Windows)

if (Data < LowerLimit): 
    print "Failed" # Output Failed as Red Text 
elif (Data > UpperLimit): 
    print "Failed" # Red Color 
else: 
    print "Passed" # Blue Color 

该脚本正在Windows机器上用于快速数据分析。

+1

重复,但链接的问题中的解决方案几乎没有在Windows上工作。 –

回答

48

或者关于最好的模块,我发现 http://pypi.python.org/pypi/colorama

+1

记得在完成时标记为答案 –

+3

谢谢... Colorama太棒了! –

+0

是 - colorama实际适用于Windows 7命令提示符。在Windows 10之前,ANSI代码在命令提示符下不起作用(出于某些不可思议的原因)。 Colorama可以完全透明地使用Win32命令 - 这使其工作并使其易于使用。我很高兴终于找到了解决这个问题的办法。 –

0

尝试看看下面的链接:Python | change text color in shell

或者在这里阅读:http://bytes.com/topic/python/answers/21877-coloring-print-lines

一般解决方法是使用ANSI代码,同时打印您的字符串。

有一种解决方案可以完全满足您的需求。

+0

但为什么downvote?我的回答有什么问题? –

+1

我已经尝试过他们的解决方案,但是他们似乎没有使用Windows。当被称为hilite(“Hello”,True,False)时,最好的答案(hilite函数)会导致'\ x1b [32mhello \ x1b [om',当打印结果为←[32mhello←[0m]而不是以彩色打印时。此外,curses库不在Windows平台上。 – CyanRook

+0

对不起,如果是这样的话,我已经用pycharm在windows下检查过了,它完美的工作,但是它不能和python控制台一起工作,所以请原谅和忍受我 –

1

这是非常简单的!而不是导入奇怪的模块python或尝试长命令,你可以利用windows操作系统命令。

在windows中,存在用于更改命令提示符文本颜色的命令。您可以通过使用开始在Python中使用这样的:进口OS

接下来,你需要有一个线改变文字颜色,把它是你在你的代码需要。 使用os.system(“色4”)

您可以通过启动CMD.EXE并输入颜色帮助找出其他颜色。

好的部分?这就是它的全部,就是简单的代码行。 - 昼

+6

这改变了整个控制台的颜色,而不仅仅是之后打印的文本。 – zvone

+0

对不起,那些家伙。我很困,完全误解了这个问题。 – Daymarquez

+0

它仍然是一个有效的答案极端相关的问题可能获得标记重复这是如何更改Python中的shell文本颜色... – Ian

-3

一直在寻找到这一段时间,并没有得到任何然而令人满意的答案,...

1)ANSI转义序列做工作,在终端上的Linux

2)如果你能容忍一组有限的结肠(u)的RS尝试:

打印( “你好”,结束= ''); print(“error”,end ='',file = sys.stderr);打印(“再见”)

在空闲“你好”和“再见”都采用了蓝色和“错误”是红色的。

不是太棒了,但现在够好,而且容易!

+0

也只是在Windows上试过它 - 在空闲的“终端” 也一样工作你需要: '导入系统' – Neil

+3

这只是IDLE着色标准输出和stderr分别。这在普通控制台(通常运行脚本的地方)中不会执行任何操作 –