Python 外部プロセスによってバッチ処理する「subprocess.run()」
'23/11/04更新:python3.7以上に対応したコードに刷新しました。
本記事では、Pythonスクリプト内で、外部プロセス(子プロセス, サブプロセス)を実行したい場合の雛形コードを載せました。外部プロセスのコマンド処理の完了を待つ場合、「subprocess.run()」を使用します。標準出力やエラーを戻り値として取得できます。
■本プログラム
下記は、複数のcsvファイルを取得した後に、それら個々のファイルに対してpythonスクリプト(ここでは便宜上sub_script.pyという任意のプログラム)を実行するプログラム例です。
一方、コマンド処理を待たずに処理を続行したい場合はPopenを使用します。
この場合、サブプロセス(子プロセス)として残ります。終了させるには後のPythonコードで終了させるか、手動で終了させる必要があります。
そうでもなく、単にシェルコマンドを実行させたいだけの場合は、次のようにします。
(参考)引数に辞書型を渡したい場合には、一度JSON形式の文字列へ変換します。雛形コードは下記を参照ください。
以上
<広告>
リンク
リンク