私が書いているPyQt GUIアプリケーションで簡単な(ウィンドウズ)コマンドラインツールを実行しようとしています。私が持っている問題は、コマンドラインツールは、それが進捗状況をstdoutに投げることです(サーバーリセットコマンドで、「停止しようとしました」と「再起動する」タイプの出力が得られる)。Python Printing StdOut As Received
私がしようとしているのは、出力は、私は私のアプリの一部としてそれを表示することができ、私はそれには、次のような何かを非常に簡単になり仮定:
import os
import subprocess as sub
cmd = "COMMAND LINE APP NAME -ARGS"
proc = sub.Popen(cmd, shell=True, stdout=sub.PIPE).stdout
while 1:
line = proc.readline()
if not line:
break
print line
これは部分的に私がSTDOUTの内容を取得行う代わりとしてのことで動作しますコマンドラインアプリケーションが終了すると進捗メッセージが送信され、一度にStdOutをフラッシュするようです。
isr簡単な答え?
重複:http://stackoverflow.com/questions/527197/intercepting-stdout-of-a-subprocess-while-it-is-running –