もっとも良く使われるアクションは store
です。このアクションは
次の引数 (あるいは現在の引数の残りの部分) を取り出し、正しい型の値か確かめ、
指定した保存先に保存するようoptparse に指示します。
例えば:
parser.add_option("-f", "--file", action="store", type="string", dest="filename")
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
といった組み込み型も
取り入れています。型の追加は
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。