PythonでコマンドラインをParseしよう(OptParse)
Sponsored Links
皆さんこんにちは
お元気ですか?眠いんですよおおおお
さて、プログラムを書いた時にコマンドラインを解析したいと思ったことはありませんか?
私は有ります。通常のコマンドラインからの入力を取り込むには、sys.argvを利用すればできます。
こんな感じ
python test.py test
testはimport sysとして、sys.argv[1]を利用して取得することができます。
しかし、これ…順番を間違えたりすると非常に悲惨な結果を生み出す可能性があります。そこでですね、OptParseと呼ばれるライブラリを使います。
ソースコード
#coding:utf-8 from optparse import OptionParser parser = OptionParser() parser.add_option( "-c","--choise", choices=["a","b","c"], help="type of input method", dest="choise") parser.add_option( "-i","--input", type="string", dest="input" ) parser.add_option( "-d","--double", default="0.3", type="float", dest="floating" ) parser.add_option( "-f","--flag", action = 'store_true', default=False, dest="flag" ) (options, args) = parser.parse_args() print options,args
出力
python optionparse.py -i aaa {'input': 'aaa', 'floating': 0.3, 'flag': False, 'choise': None} []
まず、はじめにOptionParser()にて解析するオブジェクトを生成します。
次に必要なオプションを追加していきます。
choise:その中から選ぶリストを追加する。
dest:変数を入れる辞書のキー
help:文章
default:初期から入っている値
type:int,floatなどの型
action:'store_true'だと引数が宣言されたらtrueになる。
最後のoptionとargsですが、optionは解析結果、argsは処理できなかった引数が渡ります。
因みに--helpを実効すると勝手にヘルプを表示してくれます。
python optionparse.py --help Usage: optionparse.py [options] Options: -h, --help show this help message and exit -c CHOISE, --choise=CHOISE type of input method -i INPUT, --input=INPUT -d FLOATING, --double=FLOATING -f, --flag