OptionParserメモ
Python 使ってコマンドラインからゴニョゴニョしようと思って、 調べてみたら OptionParser なんてものがあったので試してみたメモ。
6.21 optparse -- より強力なコマンドラインオプション解析器 を見ながらhoge.pyとかにして試してみる。
#!/usr/bin/env python
# vim: encoding=utf=8
from optparse import OptionParser
parser = OptionParser()
def main():
options, args = parser.parse_args()
print options
print args
if __name__ == '__main__':
main()
これだけでヘルプの表示までは出来るようになってるらしい。 -h か --help でヘルプが表示出来るらしく、 実際にやってみるとこんな感じになったよ。
$ ./hoge.py -h
Usage: hoge.py [options]
Options:
-h, --help show this help message and exit
ここからオプションを add_option なメソッドを使って、 必要なオプションを詰め込んでいけば良いらしい。 リファレンス見ながらやってみる。
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",
help="write report to FILE", metabar="FILE")
parser.add_option("-q", "--quiet", action="store_false",
dest="verbose", default=True,
help="don't print status messages to stdout")
これでもう1回ヘルプを表示してみると、
$ ./hoge.py -h
Usage: hoge.py [options]
Options:
-h, --help show this help message and exit
-f FILE, --file=FILE write report to FILE
-q, --quiet don't print status messages to stdout
ちゃんと増えてるよ。 ここまで簡単に出来ると、 今までシェルで書いてたのがバカらしくなってくるなぁ。
実際に適当に実行してみて、 どんなふうに値が取れるのか見てみると、 キーワード指定したものはoptionsに、普通に指定したものはargsに入ってくるみたい。
$ ./hoge.py -f hoge.txt
{'verbose': True, 'filename': 'hoge.txt'}
[]
$ ./hoge.py -f hige.txt -q
{'verbose': False, 'filename': 'hige.txt'}
[]
$ ./hoge.py hoge -f hige.txt -q
{'verbose': False, 'filename': 'hige.txt'}
['hoge']
add_option の引数のキーワードの種類とか説明は、 リファレンスを見るのが一番良いって覚えておく。
- Posted at:
- 2008/03/09 00:26:16
- 0 Comments
- 1 TrackBack
- Trackback:
- http://humming.via-kitchen.com/2008/03/09/optionparser-memo/trackback/
TrackBacks
[Python][Mercurial]巡回 - 常山日記
Python Developers Camp 2008 Winter: 早くも二日目の夜 Python Developers Camp 2008 Winter に参加中。その2 Blog: OptionParserメモ [開発環境] 今更ながら、Mercurial を使ってみる hgpushsvn.py --collapse でコミットメッセージを指定したい [mercurial]とても詳しい
- Created at:
- 2008/03/09 01:32:40
Comments
まだ登録されていません。