6.20.3.1 パーザを生成してオプションを追加する

パーザにオプションを加えていく方法はいくつかあります。一つ Options からなるリストを OptionParser のコンストラクタ に渡す方法です:

parser = OptionParser(option_list=[
    make_option("-f", "--filename",
                action="store", type="string", dest="filename"),
    make_option("-q", "--quiet",
                action="store_false", dest="verbose")])

(make_option()Option クラスの別名、 すなわち Option のコンストラクタを呼び出すだけです。 optparse の将来のバージョンでは、おそらく Option を 複数のクラスに分割し、 make_option() は正しいクラスを 取り出してインスタンス化するファクトリ関数になるはずです。)

長い形式のオプションリストについては、リストを別に生成する方が しばしば便利です:

option_list = [make_option("-f", "--filename",
                           action="store", type="string", dest="filename"),
               # 17 other options ...
               make_option("-q", "--quiet",
                           action="store_false", dest="verbose")]
parser = OptionParser(option_list=option_list)

また、OptionParseradd_option() メソッドを 使って、オプションを一つ一つ追加することもできます:

parser = OptionParser()
parser.add_option("-f", "--filename",
                  action="store", type="string", dest="filename")
parser.add_option("-q", "--quiet",
                  action="store_false", dest="verbose")

このメソッドは Option コンストラクタが送出する例外を 簡単に追跡できるようにします。例外が発生するのはよくあることで、 これは数多くのキーワード引数間で複雑な相互依存関係が発生する ためです -- うまく指定がされていない場合、optparseOptionError を送出します。

add_option() は以下の二つの方法のいずれかで呼び出す ことができます:

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。