Python 为什么在Windows控制台中,termcolor输出控制字符而不是彩色文本?

Python 为什么在Windows控制台中,termcolor输出控制字符而不是彩色文本?,python,windows,windows-console,termcolor,Python,Windows,Windows Console,Termcolor,我刚刚在Windows上安装了Python2.7。当我尝试打印彩色文本时,我会得到颜色代码 from termcolor import colored print colored('Text text text', 'red') 结果如下: 我在Far Manager上获得了相同的结果,并且尝试将脚本作为独立应用程序运行。要使termcolor中使用的ANSI颜色与windows终端配合使用,还需要导入/init 来自termcolor导入的>>* >>>cprint('hello','re

我刚刚在Windows上安装了Python2.7。当我尝试打印彩色文本时,我会得到颜色代码

from termcolor import colored
print colored('Text text text', 'red')
结果如下:


我在Far Manager上获得了相同的结果,并且尝试将脚本作为独立应用程序运行。

要使termcolor中使用的ANSI颜色与windows终端配合使用,还需要导入/init

来自termcolor导入的
>>*
>>>cprint('hello','red')
←[31mhello←[0m
>>>进口色拉马
>>>colorama.init()
>>>cprint('hello','red')
你好>>

在termcolor2模块中,必须键入以下内容:

import termcolor2
import colorama
colorama.init()

myText = input("Type a text : ")
color = input("What color you want? : ")

print(termcolor2.colored(myText, color))

就是这样…

这是一个简单的函数,我发现用彩色打印很有用。您不需要进行任何导入,也不必记住复杂的ANSI代码。该函数使用标准RGB元组定义前景和背景色。您可以在


做了什么工作:

在导入术语颜色之前插入上一个术语:

import subprocess
subprocess.call('', shell=True)
不起作用:

  • 导入colorama(未)解决问题-仍显示字符
  • 导入/使用termcolor2(未修复)修复了问题-仍显示
    人物
  • 导入colorama和termcolor2以及termcolor(未)修复 问题

  • 无法解释它为什么工作,只是我能够比较一个脚本的颜色工作正常,另一个脚本工作不正常。

    windows命令提示符使用命令更改终端输出颜色。 您可以执行“颜色代码”命令立即更改颜色。 仅使用命令颜色即可激活此颜色功能

    简而言之,要使脚本正常工作,请在脚本开始时运行此命令

    import os
    os.system('color')
    

    您建议的代码与OP已经失败的代码相同:向终端发送ANSI转义码。为什么您的代码适用于OP?公认的答案
    colorama
    完全是另一回事:“colorama通过包装stdout,剥离它找到的ANSI序列,在Windows上也能起作用(在输出中显示为gobbledygook),并将其转换为相应的win32调用..“()适用于meSorry的windows,但这取决于windows的类型(及其设置)是的。
    colorama
    解决方案可以避免这种情况。感谢您提供的信息。我没有遇到这种情况,所以我不知道这是一个问题。仅代码(&link only)回复最好作为评论,而不是答案。虽然此代码可能解决OP的问题,但最好包括关于您的代码如何解决OP问题的解释。这样,未来的访问者可以从您的帖子中学习,并将其应用到他们自己的代码中。因此,这不是编码服务,而是知识资源。高质量、自我控制ned,完整的答案更有可能被提升。这些是SO平台区别于论坛的一些优势。您可以
    编辑
    添加解释,并用源文档补充您的推理。谢谢Sheryl。添加了关于它如何有用的详细信息。现在,谢谢
    
    import subprocess
    subprocess.call('', shell=True)
    
    import os
    os.system('color')