簡體   English   中英

為什么用Python沒有顏色輸出?

[英]why no color output with Python?

我有一個批處理文件,它調用.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傳遞給子進程)。 也許您可以嘗試一次?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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