#daiizメモ

Scrapboxに夢中

argparse

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