#忘れた時のpythonでシェルスクリプトを実行
よく自分が忘れるので、自分が使うようのメモとして書いてます。
環境:python2.7 or python3.x
##python2.7によるシェルスクリプト実行
####1,「os」ライブラリ(非推奨の手法)
> import os
> os.system('シェルコマンド')
********* 結果の出力 *********
0
→標準出力にコマンドの結果が表示され、返り値として成功した場合は0,失敗した場合は0以外の数字が返される
####2,「commands」ライブラリ(非推奨の手法)
> import commands
> result = commands.getoutput('シェルコマンド')
> print result
********* 結果の出力 *********
→結果が返り値として出力される。そのため、結果を変数に代入、加工して使用することができる。
####3,「subprocess」ライブラリ(推奨の手法)
> import subprocess
> subprocess.call( ["ls", "-l"] )
********* 結果の出力 *********
0
→標準出力にコマンドの結果が表示され、返り値として成功した場合は0,失敗した場合は1が返される
> subprocess.check_call( ["ls", "-l"] )
********* 結果の出力 *********
0
→標準出力にコマンドの結果が表示され、返り値として成功した場合は0,失敗した場合は異常時には例外値を送出する
> result = subprocess.check_output(["ls", "-l"])
> print(result)
********* 結果の出力 *********
→結果が返り値として出力される。そのため、結果を変数に代入、加工して使用することができ、失敗した場合は異常時には例外値を送出する
##python3によるシェルスクリプト実行
上記のうち、osライブラリとsubprocessライブラリを使用することができる。