今回はPythonコードでシェルコマンドを実行する方法を紹介したいと思います。ターミナルで実行しているコマンドをそのままPythonコードで実行したい、という時に、これから紹介するコードが使えます。
モジュールのインストール
まず、下記の2つのモジュールをimportします。
import subprocess import shlex
コマンド文字列の生成
まず、実行したいコマンド文字列をcmd変数に格納します。
cmd = "ls -lt"
次に、shlex.splitメゾットで、subprocessメゾットの引数に合う形に変換します。
cmd = shlex.split(cmd)
コマンドの実行
subprocess.check_outputメゾットの引数に上記で作成したコマンド文字列を与えて、実行します。
ret = subprocess.check_output(cmd)
print(ret)
これでretにコマンドの結果が格納されます。shlexとsubprocessモジュールを使用すると、とても簡単にシェルコマンドをPythonコードで実行することができます。