Screaming Loud

日々是精進

pythonでoptionを関数へ

pythonでコードを書く時,メインモジュールを使っていると思う.
自分はいつもそのメインモジュールの中にoption系を全部書いていた.
option系って勝手に言ってるけど,要はコマンドラインでoptionをつけるモジュール.
15.4. argparse — コマンドラインオプション、引数、サブコマンドのパーサー — Python 2.7ja1 documentation

例えば,こんな感じで書いてた.

if __name__=="__main__":
    parser = argparse.ArgumentParser(prog="PROG")
    parser.add_argurment("hoge")
    args = parser.parse_args()
    print args.hoge


でも,引数を増やすとメインモジュールがぐちゃぐちゃになるし嫌だなー.って思って関数に入れたら,出来たよって話です.

単純に,これで動きました.

def options():
    parser = argparse.ArgumentParser(prog="PROG")
    parser.add_argurment("hoge")
    return parser.parse_args()

if __name__=="__main__":
    args = options()
    print args.hoge

関数で書けば,見事にすっきり!