コマンドライン引数

プログラムを実行する際、ファイル名の後方に文字列(コマンドライン引数)を付加することにより、プログラムに情報を渡すことができる。実行ごとにプログラムの動作を変更したいときに使う。


プログラムに引数を渡す

引数が複数ならスペースを空けて、

python3 スクリプト.py "引数1" "引数2" …

引数をプログラムで受け取る

そのコマンドライン引数はプログラム側ではリストになっていて、これにアクセスするにはまずsysモジュールimportする。

リストにはインデックス(0からスタート)を用いてアクセスするが、0番には「実行しているファイルパス」が格納されていて、コマンドライン引数は1から順番にsys.argv[1]sys.argv[2]…というようにして参照する。

script.py

#!/usr/bin/env python3

# sysモジュールをimport
import sys

print(sys.argv[0]) # これはファイルパス
print(sys.argv[1]) # 最初の引数
print(sys.argv[2])

実行例

python3 script.py 'Hello, World!' こんにちは
script.py
Hello, World!
こんにちは