戻り値 - python subprocess 対話



subprocess.popenとsubprocess.runの違いは何ですか (1)

Python 3.5では、 subprocess.Popen単純化してsubprocess.Popen簡略化するため subprocess.run が追加されました。コマンドを実行してそれが終了するまで待つ場合は、その間は何もしたくありません。 他の場合には、まだsubprocess.Popenを使用する必要があります。

主な違いは、 subprocess.runはコマンドを実行し、それが完了するのを待つことです。一方、 subprocess.Popenを使用すると、プロセスが終了しても作業を続行できます。 。

subprocess.runが実際に実行しているのはPopencommunicateを呼び出すことなので、データを送受信するためのループを作成したり、プロセスが終了するのを待つ必要はありません。

subprocess.run PopenパラメータがPopen渡され、どれがcommunicateするPopenの情報については、 このサイトをチェックしてください。

私はsubprocessモジュールに不慣れです、そして、ducumentationはsubprocess.popensubprocess.run間の違いが何であるか疑問に思います。 コマンドの動作に違いはありますか? ただ新しいの? どちらを使うのが良いですか?





python