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の語源はサボるというニュアンスらしい.ユーザーが値を与えることをサボるとサボり値になる.