オプションに対する様々なアクションは全て、わずかに異なる要求事項と 効果を持っています。 ``help'' アクションを除き、Optionを 生成する際には少なくとも一つの別のキーワード引数を指定する必要があります; 各アクションに対する厳密な要求事項を以下に挙げます。
オプションの後には必ず引数が続き、type に従った値に変換されて dest に保存されます。nargs > 1 の場合、複数の引数が コマンドラインから取り出されます; 引数は全て type に従って 変換され、dest にタプルとして保存されます。 以下の 6.20.3 節、 ``オプションの型'' を 参照してください。
choices を指定 (文字列のリストかタプル) していれば、 型のデフォルト値は ``choice'' になります。
type が指定されなければ、デフォルト値は ``string'' になります。
dest が指定されない場合、 optparse は目的変数 を最初の長い形式のオプション文字列から導出します (例えば、 --foo-bar -> foo_bar)。長い形式のオプション文字列 がない場合、optparse は最初の短い形式のオプションから 目的変数名を導出します (例えば -f -> f)。
例:
make_option("-f") make_option("-p", type="float", nargs=3, dest="point")
以下のコマンド:
-f foo.txt -p 1 -3.5 4 -fbar.txt
を与えると、 optparse は以下のように変数を設定します:
values.f = "bar.txt" values.point = (1.0, -3.5, 4.0)
(実際のところ、 values.f は二度値設定されますが、 最終的には二回目の設定値だけが読み取れます。)
Option コンストラクタに与えられた const 値が dest に保存されます。
例:
make_option("-q", "--quiet", action="store_const", const=0, dest="verbose"), make_option("-v", "--verbose", action="store_const", const=1, dest="verbose"), make_option(None, "--noisy", action="store_const", const=2, dest="verbose"),
--noisy がなければ、 optparse は以下のように 値を設定します:
values.verbose = 2
``store_const'' の特殊なケースで、真値 (厳密には整数の 1) を dest に保存します。
``store_true'' と同じですが、偽値 (整数の 0) を保存します。
例:
make_option(None, "--clobber", action="store_true", dest="clobber") make_option(None, "--no-clobber", action="store_false", dest="clobber")
オプションの後ろには引数が一つ続かなければなりません。この引数は dest に入っているリストに追加されます。dest のデフォルト値が 指定されていない (すなわち、デフォルト値が Noneである) 場合、 optparse が最初にコマンドライン中にこのオプションを見つけた際に 空のリストが自動的に生成されます。 "nargs > 1" であれば、複数の引数が取り出され、長さ nargs のタプルが dest に追加されます。
type と dest のデフォルト値は ``store'' アクションの値と 同じです。
例:
make_option("-t", "--tracks", action="append", type="int")
-t3 がコマンドライン上で見つかると、optparse は以下と等価な処理を行います:
values.tracks = [] values.tracks.append(int("3"))
その後で "--tracks=4" が見つかると、さらに以下の処理を行います:
values.tracks.append(int("4"))
optparse が "--tracks=x" のような指定をどのように 扱うかについての情報は、 ``エラー処理'' ( 6.20.2 節) を参照してください。
dest に保持されている整数値をインクリメント (1 増加) させます。 dest は (デフォルトの値を指定しない限り) 最初にインクリメントを 行う前にゼロに設定されます。
例:
make_option("-v", action="count", dest="verbosity")
最初に -v がコマンドライン上で見つかった際、 optparse は以下と等価な処理:
values.verbosity = 0 values.verbosity += 1
を行います。その後 -v が見つかると、さらに以下の処理:
values.verbosity += 1
を行います。
callback に指定された関数を呼び出します。この関数の 用法は以下のようになっています:
func(option : Option, opt : string, value : any, parser : OptionParser, *args, **kwargs)
callback オプションについての詳細は、 6.20.4 節、 ``callback オプション'' でカバーされています。
現在のオプションパーザ内にある全てのオプション対する完全な ヘルプメッセージを出力します。ヘルプメッセージは OptionParser のコンストラクタに渡された usage 文字列と、各オプションに 渡された help 文字列から生成されます。
オプションに help 文字列が指定されていなくても、ヘルプメッセージ 中には列挙されます。オプションを完全に表示させないようにするには、 特殊な値 optparse.SUPPRESS_HELP を使います。
例:
from optparse import Option, OptionParser, SUPPRESS_HELP usage = "usage: %prog [options]" parser = OptionParser(usage, option_list=[ make_option("-h", "--help", action="help"), make_option("-v", action="store_true", dest="verbose", help="Be moderately verbose") make_option("--file", dest="filename", help="Input file to read data from"), make_option("--secret", help=SUPPRESS_HELP)
optparse がコマンドライン上に --h または --help を見つけると、以下のようなヘルプメッセージを 標準出力に出力します:
usage: <yourscript> [options] options: -h, --help Show this help message and exit -v Be moderately verbose --file=FILENAME Input file to read data from
ヘルプメッセージの出力後、optparse は sys.exit(0)
でプロセスを終了します。
OptionParser に指定されているバージョン番号を標準出力に 出力して終了します。バージョン番号は、実際には OptionParser のprint_version() メソッドで書式化されてから出力されます。 通常、 OptionParser のコンストラクタに version が指定されたときのみ関係のあるアクションです。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。