OptionParser にはその他にも幾つかの公開されたメソッドがあります:
set_usage(usage)
上で説明したコンストラクタの usage
キーワード引数での規則に従った
使用法の文字列をセットします。None
を渡すとデフォルトの使用法文字列が
使われるようになり、SUPPRESS_USAGE
によって使用法メッセージを
抑制できます。
enable_interspersed_args()
, disable_interspersed_args()
位置引数をオプションと混ぜこぜにする GNU getopt のような扱いを有効化/無効化する
(デフォルトでは有効)。たとえば、"-a"
と "-b"
はどちらも引数を
取らない単純なオプションだとすると、optparse は通常つぎのような文法を
受け入れます。
prog -a arg1 -b arg2
そして扱いは次のように指定した時と同じです。
prog -a -b arg1 arg2
この機能を無効化したい時は disable_interspersed_args()
を
呼び出してください。この呼び出しにより、伝統的な Unix 文法に回帰し、
オプションの解析は最初のオプションでない引数で止まるようになります。
set_defaults(dest=value, ...)
幾つかの保存先に対してデフォルト値をまとめてセットします。 set_defaults() を使うのは複数のオプションにデフォルト値をセットする 好ましいやり方です。というのも複数のオプションが同じ保存先を共有することがあり得るからです。 たとえば幾つかの ``mode'' オプションが全て同じ保存先をセットするものだったとすると、 どのオプションもデフォルトをセットすることができ、しかし最後に指定したものが勝ちます。
parser.add_option("--advanced", action="store_const", dest="mode", const="advanced", default="novice") # 上書きされます parser.add_option("--novice", action="store_const", dest="mode", const="novice", default="advanced") # 上の設定を上書きします
こうした混乱を避けるために set_defaults() を使います。
parser.set_defaults(mode="advanced") parser.add_option("--advanced", action="store_const", dest="mode", const="advanced") parser.add_option("--novice", action="store_const", dest="mode", const="novice")
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。