ブログ

Armadillo-640:pythonでシェルスクリプト実行

at_kazutaka.bito
2018年10月1日 9時19分

Armadillo-640でpythonでシェルスクリプトを実行してみました。
Armadillo-640でpythonを動かすまでの手順は、
Armadillo-640:pythonを動かす
を参照願います。

ここでは、pythonから、lsコマンドを実行してみます。
コマンドラインからlsコマンドを実行すると、下記のようになります。

root@armadillo:~# ls /var/log
alternatives.log  bootstrap.log  debug     faillog   mail.err   mail.warn  wtmp
apt               btmp           dpkg.log  kern.log  mail.info  messages
auth.log          daemon.log     exim4     lastlog   mail.log   syslog


pythonから上記と同様のlsコマンドを実行するには、下記の内容のファイルを作成します。
(後述の説明上、このファイル名を"temp.py"とします。)

import subprocess
 
cmd = "ls /var/log"
subprocess.call(cmd, shell=True)

説明)
シェルスクリプト実行にあたり、subprocessモジュールを使用しています。
cmdに、シェルスクリプト(ここでは、"ls /var/log")を代入して、subprocessで実行しています。

上記で作成した"temp.py"を実行すると、コマンドラインからlsコマンドを実行した結果と同じになります。

root@armadillo:~# python temp.py
alternatives.log  bootstrap.log  debug     faillog   mail.err   mail.warn  wtmp
apt               btmp           dpkg.log  kern.log  mail.info  messages
auth.log          daemon.log     exim4     lastlog   mail.log   syslog