python 2.7から、optparseが非推奨になり、代わりにかわりにサードパーティとしてPyPIで公開されていたargparseが標準に取り込ました。
そこで、http://argparse.googlecode.com/vn/trunk/doc/argparse-vs-optparse.htmlargparseとoptparseの違い(の最初だけ)の翻訳のようなものを書いてみました。
- optparseはオプション引数しか扱えないが、argparseはオプション引数だけではなく、位置引数も同時に扱える。
オプション引数というのは
$ gcc spam.c -o egg.exe
の、"-o egg.exe"の部分の事。
- argparseはどのコマンドラインのフォーマットを用いるか、独断的に決めるのではなく、オプションとしている。(例えば、"-file" と "/file" は両方サポートされている)。optparseはこれ等の機能をサポートしていない。実用性より純粋性を優先している。
- argparseはより有意義な多いヘルプメッセージ(usage message)を表示する。位置引数とオプション引数の両方に対し、使い方とヘルプの情報が表示される。optparseでは使い方を自分で書かなければならない上、位置引数のヘルプを表示する事はできない。
- argparseは可変個の引数をとるようなアクションを設定する事ができる。optparseではアクションがとる引数の数は予め指定しなければならない。
- argparseはsub-commandを処理するparserをサポートしている。optparseでは手動で処理しなくてはならない。
- argparseではadd_argument()のtype引数やaction引数として単純なcallableを渡す事ができる。 optparseでは引数のチェックのためには、STORE_ACTIONSやCHECK_METHODSのような技巧的なclass属性を指定しなければならない。