簡體   English   中英

讀取子流程的STDOUT

[英]Reading STDOUT of subprocess

您好,我想閱讀命令的輸出,該命令給出了如下所示的進度條,如下所示

10% |****                       | 3:56 ETA

我嘗試了以下代碼

import subprocess
import sys
proc = subprocess.Popen("command", shell=True, stdout=subprocess.PIPE)
while True:
    line = proc.stdout.readline()
    if not line:
        break
    split = line.rstrip()
    print line
    print "\n"
print "Done"

此代碼在進度條完成到100%后讀取輸出,但是我想在中間讀取它。 有人可以幫忙嗎?

您使用的是readline()但是進度條全部打印在一行上,因此readline()會等到進度條已完全打印出來,因為這是換行符。 嘗試read(1)獲取一個字符。

暫無
暫無

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

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