12

私は最近、Pythonでsubprocess.Popen()引数があることに気づきました:

stdout=None(default)

stdout=subprocess.PIPE を使用している人も見ました。

違いはなんですか?どちらを使用する必要がありますか?

もう 1 つの質問は、プロセスが実際に完了するまでなぜ wait() 関数が待機できないのかということです。私が使用した:

a = sp.Popen(....,shell=True)
a.wait()
a2 = sp.Popen(...,shell=True)
a2.wait()

コマンド a が実行される前に a2 コマンドが実行されることがあります。

4

2 に答える 2

5
  • stdout=Nonesubprocess は、スクリプトが出力する場所に出力されることを意味します
  • stdout=PIPEつまり、サブプロセスの stdout が、読み取る必要があるパイプにリダイレクトされることを意味しprocess.communicate()ますprocess.stdout
于 2013-11-13T18:09:03.437 に答える