optparse モジュールは、getopt
よりも簡便で、柔軟性に富み、
かつ強力なコマンドライン解析ライブラリです。
optparse では、より明快なスタイルのコマンドライン解析手法、
すなわちOptionParser のインスタンスを作成してオプションを
追加してゆき、そのインスタンスでコマンドラインを解析するという手法を
とっています。optparse
を使うと、GNU/POSIX 構文でオプションを
指定できるだけでなく、使用法やヘルプメッセージの生成も行えます。
optparse を使った簡単なスクリプト例を以下に示します:
from optparse import OptionParser [...] parser = OptionParser() parser.add_option("-f", "--file", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=True, help="don't print status messages to stdout") (options, args) = parser.parse_args()
このようにわずかな行数のコードによって、スクリプトのユーザは コマンドライン上で例えば以下のような 「よくある使い方」 を実行できるように なります:
<yourscript> --file=outfile -q
コマンドライン解析の中で、optparse
はユーザの指定した
コマンドライン引数値に応じてparse_args() の返す
options
の属性値を設定してゆきます。
parse_args() がコマンドライン解析から処理を戻したとき、
options.filename
は"outfile"
に、options.verbose
は False
になっているはずです。optparse
は
長い形式と短い形式の両方のオプション表記をサポートしており、
短い形式は結合して指定できます。また、様々な形でオプションに
引数値を関連付けられます。従って、以下のコマンドラインは全て上の例
と同じ意味になります:
<yourscript> -f outfile --quiet <yourscript> --quiet --file outfile <yourscript> -q -foutfile <yourscript> -qfoutfile
さらに、ユーザが
<yourscript> -h <yourscript> --help
のいずれかを実行すると、optparse はスクリプトの オプションについて簡単にまとめた内容を出力します:
usage: <yourscript> [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
yourscript の中身は実行時に決まります
(通常は sys.argv[0]
になります)。