为什么Python没有颜色输出?

2024-10-02 12:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个批处理文件,它调用.Net解决方案来构建项目。在dos控制台窗口中,警告和错误将以不同的颜色显示,绿色和红色,看起来不错。当批处理文件从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()

谢谢


Tags: 文件项目警告net颜色错误stdoutline
2条回答

有些程序会测试它们是否实际连接到控制台/终端,如果不是为了更容易解析/处理输出,则会抑制属性更改。我知道在*nix系统上,你可以用unbuffer来愚弄程序,但我不知道是否有一个Windows等价物。在

如果这是UNIX,我建议您不要在变量中获取输出,而是让程序将其打印出来(即,不要将stdout传递给子进程)。也许你可以试试吗?在

相关问题 更多 >

    热门问题