我有一个批处理文件,它调用.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()
谢谢
有些程序会测试它们是否实际连接到控制台/终端,如果不是为了更容易解析/处理输出,则会抑制属性更改。我知道在*nix系统上,你可以用
unbuffer
来愚弄程序,但我不知道是否有一个Windows等价物。在如果这是UNIX,我建议您不要在变量中获取输出,而是让程序将其打印出来(即,不要将
stdout
传递给子进程)。也许你可以试试吗?在相关问题 更多 >
编程相关推荐