本问题已经有最佳答案,请猛点这里访问。
我正在寻找一种方法,在我的Python脚本运行时更改文本输出的颜色。基本思想是这样的:
if (Data < LowerLimit):
print"Failed" # Output Failed as Red Text
elif (Data > UpperLimit):
print"Failed" # Red Color
else:
print"Passed" # Blue Color
这些脚本正在Windows计算机上用于快速数据分析。
一个副本,尽管链接问题中几乎没有一个解决方案在Windows上工作。
或者说我找到的最好的模块http://pypi.python.org/pypi/colorama
完成后记得标记为答案
谢谢您。。。科罗拉多真是太神奇了!
是的-Colorama实际上适用于Windows7命令提示。在Windows10之前,ansi代码在命令提示符中不起作用(原因不明)。Colorama可以完全随意地使用win32命令,这使它工作起来并易于使用。我很高兴我终于找到了解决这个问题的办法。
这非常简单!您可以利用Windows操作系统命令,而不是为python导入奇数模块或尝试长命令。
在Windows中,存在用于更改命令提示文本颜色的命令。您可以在python中使用它,方法是从:import os开始。
接下来你需要有一行改变文本颜色,把它放在你想要的代码中。os.system('color 4')
您可以通过启动cmd.exe并键入color help来确定其他颜色。
好的部分?这就是它们的全部意义,简单的代码行。日
这改变了整个控制台的颜色,而不仅仅是随后打印的文本。
抱歉,那个家伙。我困了,完全误解了这个问题。
对于极为相关的问题,它仍然是一个有效的答案,这个问题可能会被标记为"重复",即如何在python中更改shell文本颜色…
上票,因为虽然它可能不能完全回答最初的问题,但这确实回答了我的问题,谷歌把我带到这里。
实际上,如果运行os.system("color"),那么ansi转义序列就会神奇地开始在Windows中工作。
尝试查看以下链接:python在shell中更改文本颜色
或者在这里阅读:http://bytes.com/topic/python/answers/21877-coloring-print-lines
通常的解决方案是在打印字符串时使用ANSI代码。
有一种解决方案可以完全满足您的需要。
但为什么投反对票?我的回答有什么问题?????
我尝试过他们的解决方案,但它们似乎不适用于Windows。当调用hilite("hello",true,false)时,最上面的答案(hilite函数)会导致'x1b[32mhellox1b[om',当打印时会导致←[32mhello←[0米,而不是彩色打印。而且Curses库不在Windows平台上。
对不起,如果是这样的话,我已经用pycharm在Windows中检查过了,它工作得很好,但是它不能和python控制台一起工作,所以请原谅我,并容忍我。
虽然可行,但打印原始的ANSI代码充其量是一种"简单"的解决方案。您不应该期望它在所有控制台中都能正常工作。
但是,我们已经研究了一段时间,没有得到任何令人满意的答案…
1)Ansi转义序列在Linux上的终端中工作。
2)如果您可以忍受有限的一组colo(u)rs,请尝试以下操作:
print("hello", end=''); print("error", end='', file=sys.stderr); print("goodbye")
< /块引用>< /块引用>
空闲时,"你好"和"再见"为蓝色,"错误"为红色。
不是很好,但现在足够好了,而且很容易!
也只是在Windows上尝试过-在空闲的"终端"中也一样,忘记了需要:"导入系统"
这只是分别对stdout和stderr进行闲置着色。在普通控制台中(通常运行脚本)这不会做任何事情。