6.21.2.2 store アクション

もっとも良く使われるアクションは store です。このアクションは 次の引数 (あるいは現在の引数の残りの部分) を取り出し、正しい型の値か確かめ、 指定した保存先に保存するようoptparse に指示します。

例えば:

parser.add_option("-f", "--file",
                  action="store", type="string", dest="filename")
のように指定しておき、偽のコマンドラインを作成して optparse に 解析させてみましょう:
args = ["-f", "foo.txt"]
(options, args) = parser.parse_args(args)

オプション文字列 "-f" を見つけると、optparse は次の 引数である "foo.txt" を消費し、その値を options.filename に 保存します。従って、このparse_args()呼び出し後には options.filename"foo.txt"になっています。

オプションの型として、optparse は他にもintfloat をサポートしています。

整数の引数を想定したオプションの例を示します:

parser.add_option("-n", type="int", dest="num")

このオプションには長い形式のオプション文字列がないため、設定に問題がないという ことに注意してください。また、デフォルトのアクションは store なので、 ここでは action を明示的に指定していません。

架空のコマンドラインをもう一つ解析してみましょう。今度は、オプション引数を オプションの右側にぴったりくっつけて一緒くたにします: -n42 (一つの引数のみ) は -n 42 (二つの引数からなる) と等価になるので、

(options, args) = parser.parse_args(["-n42"])
print options.num

"42" を出力します。

型を指定しない場合、 optparse は引数をstring であると仮定します。 デフォルトのアクションが store であることも併せて考えると、最初の例はもっと 短くなります:

parser.add_option("-f", "--file", dest="filename")

保存先 (destination) を指定しない場合、 optparse はデフォルト値として オプション文字列から気のきいた名前を設定します: 最初に指定した長い形式のオプション 文字列が"-foo-bar" であれば、デフォルトの保存先は foo_bar になります。長い形式のオプション文字列がなければ、optparse は最初に指定 した短い形式のオプション文字列を探します: 例えば、"-f" に対する保存先は f になります。

optparse では、longcomplex といった組み込み型も 取り入れています。型の追加は 節の 「optparse の拡張」で触れています。

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