0

こんにちは、以下に示すような出力のような進行状況バーを表示するコマンドの出力を読みたいと思います

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% 読み取りますが、途中で読み取りたいです。誰でも助けることができますか?

4

1 に答える 1

4

使用していますreadline()が、プログレスバーはすべて1行に印刷されているためreadline()、プログレスバーが完全に印刷されるまで待機します。つまり、改行が発生します。read(1)一度にキャラクターを取得してみてください。

于 2012-06-24T16:53:30.053 に答える