Python:我怎样才能使ANSI转义代码也在Windows中工作?

如果我在Linux下运行这个python它工作:

start = "\033[1;31m" end = "\033[0;0m" print "File is: " + start + "<placeholder>" + end 

但是,如果我在Windows中运行它不起作用,我怎样才能让ANSI转义码也在Windows上工作?

您可以检查Python模块以在Windows上启用stdout的ANSI颜色? 看看它是否有用。

colorama模块似乎是跨平台的。

你安装colorama:

 pip install colorama 

然后:

 import colorama colorama.init() start = "\033[1;31m" end = "\033[0;0m" print "File is: " + start + "<placeholder>" + end 

你可以看看https://github.com/kennethreitz/clint

自述文件:

 >>> from clint.textui import colored, puts >>> puts(colored.red('red text')) red text # It's red in Windows, OSX, and Linux alike. 

我写了一个简单的模块,可在http://pypi.python.org/pypi/colorconsole

它适用于Windows,Mac OS X和Linux。 它在Linux和Mac上使用ANSI,但在Windows上使用本机调用控制台功能。 你有颜色,光标定位和键盘输入。 它不是诅咒的替代品,但是如果您需要在简单的脚本或ASCII游戏中使用,它可能非常有用。

该文档可以在这里找到: http : //code.google.com/p/colorconsole/wiki/PageName

PS:这是使用Python的颜色在终端打印相同的答案? ,但我不知道如何链接到答复。