为什么Python没有颜色输出?

为什么Python没有颜色输出?

问题描述:

我有一个批处理文件,它调用.Net解决方案来构建项目。在dos控制台窗口中,警告和错误将以不同的颜色,绿色和红色显示,看起来不错。当从Python调用批处理文件时,根本没有颜色,都是单一的颜色。 python可以获得相同的多彩效果吗?我的批处理文件调用是这样的:为什么Python没有颜色输出?

p = subprocess.Popen('manualBuild.bat', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 
for line in p.stdout.readlines(): 
    print line, 
retval = p.wait() 

感谢

某些程序的测试,看看他们实际上是连接到控制台/终端,并抑制属性的变化,如果他们为了不是以便更容易解析/处理输出。我知道,在* nix系统上,您可以使用unbuffer来欺骗程序,但我不知道是否有与Windows相同的内容。

如果这是UNIX,我建议你不要在变量中得到输出,而只是让程序打印出来(即不要将stdout传递给子进程)。也许你可以尝试一次?