Pythonのsubprocess.callとsubprocess.runの違いは何ですか?質問する

Pythonのsubprocess.callとsubprocess.runの違いは何ですか?質問する

私はしばらくの間、subprocess.callとの違いは何かを理解しようとしてきましたsubprocess.run。 最後の は Python 3.5 で新しく追加されたもので、両方とも に基づいていることは知っていますsubprocess.Popenが、まだ違いを理解できていません。

ベストアンサー1

の定義subprocess.call()明確に言及している:

これは次のコードと同等ですrun(...).returncode(ただし、入力そしてチェックパラメータはサポートされていません)

としてPython 3.5 のサブプロセスドキュメント言う:

Python 3.5 より前では、これら 3 つの関数 (つまり、、.call())がサブプロセスへの高レベル API を構成していました。今では多くの場合で を使用できますが、多くの既存コードはこれらの関数を呼び出します。.check_call().check_output()run()


一部の関数が置き換えられる場合、すぐに廃止されるのではなく、一部のバージョンではサポート期間が設けられるのが一般的です。これにより、言語バージョンがアップグレードされたときに古いコードが壊れるのを防ぐことができます。.call()将来置き換えられるかどうかはわかりません。しかし、ドキュメントに基づいて私が知っていることは、それらはほぼ同じであるということです。

おすすめ記事