6.20.3.4 Option types
optparse supports six option types out of the box: string,
int, long, choice, float
and complex. (Of these, string, int, float, and choice are the most
commonly used --long and complex are there mainly for completeness.) It's easy to add new
option types by subclassing the Option class; see section 6.20.5, ``Extending optparse.''
Arguments to string options are not checked or converted in any way: the text on the
command line is stored in the destination (or passed to the callback) as-is.
Integer arguments are passed to int() to convert them to Python
integers. If int() fails, so will optparse,
although with a more useful error message. Internally, optparse raises
OptionValueError in optparse.check_builtin();
at a higher level (in OptionParser), optparse
catches this exception and terminates your program with a useful error message.
Likewise, float arguments are passed to float() for conversion,
long arguments to long(), and complex arguments to complex(). Apart from that, they are handled identically to integer
arguments.
Choice options are a subtype of string options. A master list or tuple of choices (strings)
must be passed to the option constructor (make_option() or OptionParser.add_option()) as the choices keyword argument.
Choice option arguments are compared against this master list in optparse.check_choice(),
and OptionValueError is raised if an unknown string is given.
|