様々なオプション・アクションにはどれも互いに少しづつ異なった条件と作用があります。 ほとんどのアクションに関連するオプション属性がいくつかあり、値を指定して optparseの挙動を操作できます; いくつかのアクションには必須の属性 があり、必ず値を指定せねばなりません。
store
[relevant: type, dest, nargs
, choices
]
オプションの後には必ず引数が続きます。引数はtype に従った値に変換されて dest に保存されます。nargs > 1 の場合、 複数の引数をコマンドラインから取り出します; 引数は全て type に従って 変換され、dest にタプルとして保存されます。 下記の 14.3.3 節「標準のオプション型」 を 参照してください。
choices
を(文字列のリストかタプルで) 指定した場合、型のデフォルト値は
``choice'' になります。
type を指定しない場合、デフォルトの値は string
です。
dest を指定しない場合、 optparse は保存先を最初の長い形式の
オプション文字列から導出します (例えば、"-foo-bar"
は
foo_bar
になります)。長い形式のオプション文字列がない場合、
optparse は最初の短い形式のオプションから保存先の変数名を導出します
("-f"
は f
になります)。
例えば:
parser.add_option("-f") parser.add_option("-p", type="float", nargs=3, dest="point")
-f foo.txt -p 1 -3.5 4 -fbar.txt
options.f = "foo.txt" options.point = (1.0, -3.5, 4.0) options.f = "bar.txt"
store_const
[required: const
; relevant: dest]
値cost
をdest に保存します。
例えば:
parser.add_option("-q", "--quiet", action="store_const", const=0, dest="verbose") parser.add_option("-v", "--verbose", action="store_const", const=1, dest="verbose") parser.add_option("--noisy", action="store_const", const=2, dest="verbose")
"-noisy"
が見つかると、 optparse は
options.verbose = 2
store_true
[relevant: dest]
store_const
の特殊なケースで、真 (True) をdest に保存します。
store_false
[relevant: dest]
store_true
と同じですが、偽 (False) を保存します。
例:
parser.add_option("--clobber", action="store_true", dest="clobber") parser.add_option("--no-clobber", action="store_false", dest="clobber")
append
[relevant: type, dest, nargs
, choices
]
このオプションの後ろには必ず引数が続きます。引数はdest のリストに
追加されます。dest のデフォルト値を指定しなかった場合、
optparse がこのオプションを最初にみつけた時点で空のリストを自動的に生成します。
nargs
> 1 の場合、複数の引数をコマンドラインから取り出し、
長さ nargs
のタプルを生成して destに追加します。
type および dest のデフォルト値は store
アクションと
同じです。
例:
parser.add_option("-t", "--tracks", action="append", type="int")
"-t3"
がコマンドライン上で見つかると、optparse は:
options.tracks = [] options.tracks.append(int("3"))
その後、"-tracks=4"
が見つかると:
options.tracks.append(int("4"))
append_const
[required: const
; relevant: dest]
store_const
と同様ですが、const
の値は dest に
追加(append)されます。
append
の場合と同じように dest のデフォルトは None
ですが
このオプションを最初にみつけた時点で空のリストを自動的に生成します。
count
[relevant: dest]
dest に保存されている整数値をインクリメントします。 dest は (デフォルトの値を指定しない限り) 最初にインクリメントを 行う前にゼロに設定されます。
例:
parser.add_option("-v", action="count", dest="verbosity")
コマンドライン上で最初に "-v"
が見つかると、optparse は:
options.verbosity = 0 options.verbosity += 1
以後、"-v"
が見つかるたびに、
options.verbosity += 1
callback
[required: callback
;
relevant: type, nargs
, callback_args
, callback_kwargs
]
callback
に指定された関数を次のように呼び出します。
func(option, opt_str, value, parser, *args, **kwargs)
詳細は、14.3.4 節「オプション処理コールバック」を 参照してください。
現在のオプションパーザ内の全てのオプションに対する完全なヘルプメッセージを出力します。
ヘルプメッセージは OptionParser のコンストラクタに渡したusage
文字列と、各オプションに渡した help 文字列から生成します。
オプションに help 文字列が指定されていなくても、オプションは
ヘルプメッセージ中に列挙されます。オプションを完全に表示させないようにするには、
特殊な値 optparse.SUPPRESS_HELP
を使ってください。
optparse は全てのOptionParser に自動的にhelp オプションを追加するので、通常自分で生成する必要はありません。
例:
from optparse import OptionParser, SUPPRESS_HELP parser = OptionParser() parser.add_option("-h", "--help", action="help"), parser.add_option("-v", action="store_true", dest="verbose", help="Be moderately verbose") parser.add_option("--file", dest="filename", help="Input file to read data from"), parser.add_option("--secret", help=SUPPRESS_HELP)
optparse がコマンドライン上に "-h"
または
"-help"
を見つけると、以下のようなヘルプメッセージを
標準出力に出力します (sys.argv[0]
は"foo.py"
だとします):
usage: foo.py [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)
でプロセスを終了します。
version
OptionParser に指定されているバージョン番号を標準出力に
出力して終了します。バージョン番号は、実際には OptionParser
のprint_version() メソッドで書式化されてから出力されます。
通常、 OptionParser のコンストラクタに version
が指定されたときのみ関係のあるアクションです。
help オプションと同様、optparse はこのオプションを
必要に応じて自動的に追加するので、version
オプションを作成する
ことはほとんどないでしょう。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。