用于Python的Colorama,不在Windows上返回彩色打印行

我已经安装了Python的colorama。 我已经导入模块如下:

import colorama from colorama import init init() from colorama import Fore, Back, Style print Fore.RED + "My Text is Red" 

它返回的ANSI字符…

 esc[31mMy Text is Red 

这不是我所期望的。 难道我做错了什么。

谢谢。

我从来没有成功获得在Windows cmd.exe工作的颜色,而无需使用Ansicon进行修补。 修补后,ANSI颜色代码将无需使用像colorama(这也不适用于我)的工作。

要使用Ansicon修补cmd.exe,请执行以下操作:

  1. https://github.com/adoxa/ansicon/downloads下载Ansicon并将其解压缩到一个不含空格的目录
  2. 使用cmd提示符并导航到解压缩的位置。
  3. 光盘放入x64目录(除非你有一个32位机器,然后使用x86一个)
  4. 键入ansicon.exe –i
  5. 打开一个新的cmd提示符

通过: https : //stackoverflow.com/a/4749307/191902

另外,如果您有NVidia显卡,则可能需要将环境变量“ANSICON_EXC”设置为“nvd3d9wrap.dll”。

我在Windows 7 x64上也遇到了同样的问题,只是在init调用中添加了参数convert=True ,我终于得到了工作的颜色,而不必安装任何新的东西。

 from colorama import init, Fore, Back, Style init(convert=True) print(Fore.RED + 'some red text') 

这很正常,因为在Windows上没有ANSI

试试像tendo.colorer ,这将使所有平台着色。

注意:tendo.colorer为日志添加着色,但我相信你会知道如何将其用于其他事情。 如果我没有错误地只是在代码之前导入它,它将解决这个问题。

您可以使用导入只有一个导入。 如:

 from colorama import init, Fore, Back, Style init() 

你现在可以试试了

 print(Fore.RED + 'some red text') print(Back.GREEN + 'and with a green background') print(Style.DIM + 'and in dim text') print(Fore.RESET + Back.RESET + Style.RESET_ALL) 

试试以下内容:

 import colorama colorama.init() print colorama.Fore.GREEN + " Hey, im green! "