この記事では、Pythonの実行時にコマンドライン引数を渡す方法と、渡された引数をプログラムから参照する方法を解説します。
コマンドライン引数の渡し方
プログラム実行時にコマンドラインで引数を渡すには、実行したいファイル名につづいて、引数をスペース区切りで指定します。
$ python target.py arg1 arg2 arg3 ...
たとえばgreet.pyを実行するときに、”hello”と”world”の2つの引数を渡す場合は、次のようになります。
$ python greet.py hello world
コマンドライン引数の受け取り方
次はコマンドラインから渡された引数をプログラムで参照する方法を確認します。
Pythonでコマンドライン引数を参照するためには、sys.argvを使用します。
受け取った引数を参照する例は次のとおりです。
import sys // ①
if __name__ == '__main__':
args = sys.argv // ②
print(args[0], args[1], args[2]) // ③
sys.argvを使用するために、sysをインポートします(①)。
つづいて、sys.argvで取得したコマンドライン引数を変数に格納します(②)。
sys.argvはリストを返すため、インデックスを指定して値を取得します。このとき、0番目の引数はファイル名が格納されます。(③)
上記のコードを実行すると、つぎのような結果が得られます。
$ python greet.py hello world
('greet.py', 'hello', 'world')