Posted at

Python: コマンドライン引数とは?(超基礎)

More than 1 year has passed since last update.


コマンドライン引数とは?


  • Pythonのプログラム実行時に,引数を渡すことができる


  • sysモジュールのargvを利用する

  • 入力値は文字列型として扱われる


どうやって引数を渡すか


  • サンプルとしてtest.pyというファイルをつくる


  • args[1]とインデックスが1から始まっているのは,実行結果を見れば理由が分かる


test.py

import sys

args = sys.argv

print(args)
print("第1引数:" + args[1])
print("第2引数:" + args[2])
print("第3引数:" + args[3])



  • 下記コマンドで実行する


  • a b cを引数として渡している(test.pyも表示される)


コマンド

python test.py a b c



  • 実行すると以下のようになる


実行結果

['test.py', 'a', 'b', 'c']

第1引数:a
第2引数:b
第3引数:c


  • このtest.py起動時に,3行目のsys.argvに渡したい引数が格納される

  • 実行結果からわかるように,リストとして値が返される


  • argv[1]のインデックスが1から始まっているのは,このリストの最初の要素に実行ファイル名が入るため


その他


  • 上のプログラムでは引数が不足しているとエラーを吐く

  • 処理前にlen()を用いて引数の数をチェックすると良い