Pythonのos.system使い方と戻り値、標準出力の活用術

Pythonには、外部コマンドを実行するためのモジュールがあります。その1つが、os.systemです。このモジュールを使うことで、Pythonから外部コマンドを呼び出すことができます。

os.systemの基本的な使い方

os.systemは、引数に渡されたコマンドを実行します。例えば、lsコマンドを実行する場合は、以下のようにします。

import os
os.system('ls')

このコードを実行すると、lsコマンドが実行され、ファイルやディレクトリの一覧が表示されます。

os.systemで実行するコマンドの書き方

os.systemで実行するコマンドは、文字列として渡します。つまり、単純な文字列として書くことができます。

また、コマンドに引数を渡す場合は、以下のように書きます。

import os
os.system('ls -l')

この場合、lsコマンドに-lオプションを渡しています。このように、通常のコマンドラインと同様に書くことができます。

os.systemの戻り値の意味と利用方法

os.systemは、実行したコマンドの終了コードを返します。終了コードが0の場合は、正常終了したことを示します。一方、終了コードが0以外の場合は、エラーが発生したことを示します。

この戻り値を利用することで、Pythonから実行したコマンドが正常に終了したかどうかを判断することができます。

import os
ret = os.system('ls')
if ret != 0:
    print('lsコマンドの実行に失敗しました。')

os.systemの標準出力とその取得方法

os.systemで実行したコマンドの標準出力を取得するには、subprocessモジュールを使います。

例えば、lsコマンドの標準出力を取得する場合は、以下のようにします。

import subprocess
result = subprocess.check_output(['ls'])
print(result)

このコードを実行すると、lsコマンドの標準出力が表示されます。

os.systemを活用した具体的なケースとコード例

os.systemは、外部コマンドを実行するための汎用的なモジュールです。そのため、様々な場面で活用することができます。

例えば、以下のようなコードを考えてみましょう。このコードは、gitコマンドを使ってリポジトリをクローンするものです。

import os
url = 'https://github.com/xxxx/yyyy.git'
os.system('git clone ' + url)

このコードを実行することで、指定したURLのリポジトリがクローンされます。

まとめ

os.systemは、Pythonから外部コマンドを呼び出すためのモジュールです。このモジュールを使うことで、Pythonから様々なコマンドを実行することができます。

また、os.systemの戻り値を利用することで、実行したコマンドが正常に終了したかどうかを判断することができます。さらに、subprocessモジュールを使うことで、実行したコマンドの標準出力を取得することもできます。