Pythonに標準で備えられているargparseというものを使うと,オプションを与えてPythonプログラムを実行することができて便利.名前の通りarg(引数)をparse(解析)してくれる.
argparse自体にもいろいろと細かい機能があると思うが,シンプルに使うだけなら以下のように書けば良い.
import argparse if __name__ == '__main__': argp = argparse.ArgumentParser() # 与えられたいオプションを羅列する argp.add_argument('-n', '--name', default='Taro') argp.add_argument('-l', '--lang', default='Japanese') args = argp.parse_args() print("Hello %s!" % args.name)
これをsample.pyと保存して実行した例がこちら:
$ python sample.py Hello Taro! $ python sample.py --name Daiki Hello Daiki! $ python sample.py -n Sayaka Hello Sayaka!
--nameとDaikiの間や,-nとSayakaの間には「=」が入ってもよい.上記例からも分かるが,--nameの指定を省くとdefaultで指定した値が適用される.
ちなみにdefaultの語源はサボるというニュアンスらしい.ユーザーが値を与えることをサボるとサボり値になる.