この記事で分かること
- PythonプログラムLinuxコマンドを実行するメリットが分かる
- PythonプログラムでLinuxコマンドを実行する具体的な方法が分かる
PythonでLinuxコマンドの実行結果を得る概要
この記事では、Pythonを使ったLinuxコマンドの実行方法を説明します。
PythonでLinuxコマンドを実行できると、
- 「実行しているPythonプログラムファイルの場所を知る」
- 「実行しているPythonファイルと同じ場所にあるファイルを知る」
- 「Linuxサーバ内のファイルの存在を確認する」
- 「Linuxサーバ内のディレクトリを作成/削除する」
など、Pythonのプログラミングロジックで、Linuxのファイル操作を扱うことができます。
PythonでLinuxコマンドの実行結果を得る前提環境
Linuxコマンドを実行する前提の環境は、下の記事で説明している私の環境と同じ環境で確認しています。
レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。
PythonでLinuxコマンドの実行結果を得るサンプルプログラム
ここでは、Linuxコマンドの実行するサンプルプログラムを示し、説明します。Linuxコマンドを実行する為には、Linuxコマンドを扱う為のライブラリをインポートします。そしてそのライブラリの関数を使う関数を自分で定義し、自分で定義した関数をプログラム内で呼び出すことにします。
こうすることによって、Linuxコマンドを扱うライブラリが変わったとしても変更箇所を1箇所に抑えることができます。このような自分で定義した関数を作ることを「モジュール化」と呼び、モジュール化の方法は下の記事で詳しく解説しています。
Linuxコマンドを扱うサンプルプログラムは次の順番で説明します。
- ライブラリのインポート
- Linuxコマンドをコールする関数の定義
- 定義した関数の実行処理
1.ライブラリのインポート
必要なライブラリをインポートします。今回は「commands」というライブラリをインポートしています。
import commands
ライブラリ「commands」をインポートする。
2.Linuxコマンドをコールする関数の定義
実際にLinuxコマンドをコールするメソッド(関数)を定義します。ここでは、メソッド名をexe_linux_commandとしました。
def exe_linux_command(command):
return commands.getoutput(command)
- 「def」コマンドを使って、「exe_linux_command」という関数を定義する。
- 関数の処理内容として、引数で得た変数「command」を引数に指定して、commandsライブラリの関数「getoutput」をコールした戻り値を。「return」コマンドで「exe_linux_command」の戻り値として指定する。
3.定義した関数の実行処理
ここでは、上記で定義したLinuxコマンドをコールする関数「exe_linux_command」を呼び出す処理を記述します。このサンプルプログラムのLinuxコマンドは、「pwd」を指定しました。もちろん、その他のLinuxコマンドも実行可能です。
if __name__ == '__main__':
command = 'pwd'
print(exe_linux_command(command))
- 変数「command」を文字列「pwd」で初期化する。
- 引数に変数「command」を指定してコールした関数「exe_linux_command」の戻り値を表示する。
「その他のLinuxのコマンド」について知りたい場合は、下記の記事を参考にしてください。