[英]How to print original color output using subprocess.check_output
我有一堆運行 GTEST 的可執行文件。
GTEST 提供通過和失敗測試的顏色輸出。
現在,當我嘗試使用 python subprocess.check_output 腳本運行一堆可執行文件時,它正在打印沒有顏色。
這是代碼:
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"])
只要沒有使用任何重定向調用(如tee
或>>
執行 Python 命令行調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.