簡體   English   中英

如何使用 subprocess.check_output 打印原始顏色輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM