###
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` は他にも`int` や`float` をサポートしています。

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

    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` では、`long` や`complex` といった組み込み型も 取り入れています。型の追加は 節の 「`optparse` の拡張」で触れています。