私はPythonスクリプト(script2.py
と呼ぶ)を実行するためにPythonのsubprocess
を使用しています。そのスクリプトはPIPE
を使用してリダイレクトされるstdout
に情報を印刷しています。問題は、script2.py
は情報の印刷を停止しますが、バックグラウンドで実行し続けることです。私が望むのは、その状態を検出することです(stdout
には何も書き込まれません)。そうする方法はありますか?stdoutにデータがあるかどうかを検出する方法は?
私は次のようにこの動作をシミュレートすることができます
for i in range(0,1000):
if i < 500:
print "HUEHUE"
script2.pyは、次の500回の反復を何も起こりませんし、それは私がスクリプトを再実行するために検出するために、必要なものです。
スクリプトをインポートして実行するときにサブプロセスを使用する理由は何ですか? –
@ cricket_007これは理想的な解決策ですが、書いていないスクリプトを使って作業している場合があります。出力を処理してスクリプトとやり取りする方が簡単です。もし彼がそれを自分で書いたら、私はあなたに完全に同意します。 – bravosierra99
Unfortunatelly 'script2.py'は私によって書かれていませんでした。' pause '状態を検出する 'script2.py'を実行しているスクリプトのみが与えられました。 –