Python 如何使用subprocess.check\u输出打印原始颜色输出
我有一堆运行GTEST的可执行文件 GTEST给出通过和失败测试的颜色输出 现在,当我尝试使用python subprocess.check_输出脚本运行一堆可执行文件时,它正在不带颜色地打印 以下是代码:Python 如何使用subprocess.check\u输出打印原始颜色输出,python,Python,我有一堆运行GTEST的可执行文件 GTEST给出通过和失败测试的颜色输出 现在,当我尝试使用python subprocess.check_输出脚本运行一堆可执行文件时,它正在不带颜色地打印 以下是代码: for root, dirs, files in os.walk(path): for file in files: try: print subprocess.check_output([os.path.join(root, file)], sh
for root, dirs, files in os.walk(path):
for file in files:
try:
print subprocess.check_output([os.path.join(root, file)], shell= True, )
except subprocess.CalledProcessError, e:
error +=1
print error
有人能帮我吗,我怎样才能将输出打印成带有颜色的原始输出?因为我今天在windows上遇到了类似的问题。我做了一点研究,似乎问题是,gtest使用屏幕缓冲区句柄在控制台中创建颜色。gtest的普通扩展流不包含任何颜色信息。这意味着一旦这些颜色被重定向,颜色就会丢失 以下代码适用于我:
subprocess.check_call(["cmd", "/c", gtest_case_executable, "--gtest_color=yes"])
只要Python命令行调用没有与任何重定向调用一起执行,如tee
或>