保留 Python os.popen() 的彩色输出

4
我将使用Python来使用msbuild.exe从指定目录构建多个VS解决方案。我只需要特定的输出,但为了节省工作量,最好使用原始ANSI编码来解析结果。
例如:
import os
output = os.popen("MSBuild VSTests.sln").read()
print output

这会输出文本,但没有颜色。有没有什么方法可以保留颜色呢?

2
欢迎来到SO!我怀疑您是否想保留转义序列,因为很可能如果它们使用ansi-转义序列,它们会使您的输出更加难以阅读。更好的方法是过滤内容。为我们提供一些样本输出从来都不会错。 - Don Question
1个回答

3
据我所知,你无法更改控制台的颜色属性,因为它不是输出文本本身的属性。这与Linux中的转义字符不同,后者可以设置文本颜色,并将其读回到控制台以保留颜色。
另一个副作用是,你无法像这个SO问题中所示那样为STDOUT和STDERR设置单独的颜色: 在Windows中设置stdout/stderr文本颜色

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接