サブプロセスしたい(subprocess

1import subprocess
2subprocess.run(コマンド)
3subprocess.run(["ls", "-l"])

Pythonのスクリプトの中でシェルコマンドなどを使う場合、subprocessモジュールを使います。 実行するコマンドは引数やオプションも含めてリスト型で指定できます。

実行結果を確認したい

1result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
2
3type(result)  # CompletedProcess
4result.args
5result.returncode
6result.stdout
7result.stderr

subprocess.runの戻り値はCompletedProcessオブジェクトです。 戻り値を変数に代入すれば、このオブジェクトを通じて実行結果を確認できます。

capture_outputオプション、textオプションを有効にすると、 標準出力や標準エラー出力に表示された内容を確認できます。

例外処理したい(CalledProcessError

1import subprocess
2
3try:
4    result = subprocess.run(コマンド, check=True)
5except subprocess.CalledProcessError as e:
6    print(f"Error: {e}")

checkオプションを有効にすると、コマンドが失敗したときに例外を発生させることができます。 subprocessCalledProcessErrorという例外クラスを持っています。