2016-08-28 4 views
7

私はsubprocessモジュールには新しく、教科書にはsubprocess.popensubprocess.runの違いが分かりません。コマンドが何をするのに違いがありますか? 1つだけ新しいですか?どちらを使うのが良いですか?subprocess.popenとsubprocess.runの違いは何ですか

答えて

9

subprocess.runwas added in Python 3.5subprocess.Popenコマンドを実行して終了するまで待つが、その間に何もしたくない場合は、それ以外の場合は、依然としてsubprocess.Popenを使用する必要があります。

主な違いは、それが終了するのをsubprocess.Popenでは、プロセスが終了しながら、自分のものをやって継続して、ちょうど繰り返し自分で自分のプロセスにデータを渡し、受信するsubprocess.communicateを呼び出すことができながらsubprocess.runは、コマンドと待機を実行していることです。

。なお、subprocess.runは実際にあなたが/ループを通過させるデータを受信したり、プロセスが終了するのを待つ必要はありませんので、あなたPopencommunicateのために呼び出して何をしていますか。

subprocess.runのパラメータがPopenに渡され、communicateに渡される情報については、this siteを確認してください。

関連する問題