Pythonでは、subprocess
モジュールを使用して外部コマンドを実行したり、新しいプロセスを作成したり、入出力ストリームを管理したりすることができます。
subprocess.callの使用
subprocess.call
は、コマンドを実行する最も簡単な方法です。以下に例を示します。
import subprocess
cmd = "sleep 30"
proc = subprocess.call(cmd, shell=True)
このコードは、シェル経由でsleep 30
コマンドを実行します。call
関数は、コマンドの終了を待ちます。
subprocess.Popenの使用
subprocess.Popen
は、新しいプロセスを作成し、そのプロセスの入出力ストリームを管理するためのクラスです。以下に例を示します。
from subprocess import Popen
cmd = "sleep 30"
proc = Popen(cmd.strip().split(" "))
このコードは、sleep 30
コマンドを新しいプロセスとして実行します。Popen
クラスは、コマンドの終了を待たずに新しいプロセスを起動します。
まとめ
Pythonのsubprocess
モジュールは、外部コマンドの実行や新しいプロセスの作成、入出力ストリームの管理など、サブプロセスの管理に非常に便利です。subprocess.call
やsubprocess.Popen
などの関数やクラスを使用することで、これらのタスクを簡単に行うことができます。