optparse options
Ben Finney
ben+python at benfinney.id.au
Tue May 19 19:21:01 EDT 2009
icarus <rsarpi at gmail.com> writes:
> parser = optparse.OptionParser(usage="%prog [-p dir] [--part=dir] ",
> version="%prog 1.0")
>
> parser.add_option( "-p", "--part", dest="directory",
> help="process target directory", metavar="dir")
> (options, args) = parser.parse_args()
As documented in ‘OptionParser.parse_args’, the return values are the
options parsed, and the *remaining* arguments after all the arguments
parsed as options.
So, the ‘args’ name will be bound to a list of only those arguments
which were not options. Very useful for programs which, in addition to
options, also take positional arguments where each argument position has
a specific meaning (e.g. “input_file output_file”).
> if len(args) != 1:
> parser.error("No options specified")
The message is confusing, since it doesn't match the condition; it would
be correct to say “Did not specify exactly one non-option argument”.
In this case, it looks like you don't want to check this at all, and
should instead operate on the basis of the options only.
--
\ “There's a certain part of the contented majority who love |
`\ anybody who is worth a billion dollars.” —John Kenneth |
_o__) Galbraith, 1992-05-23 |
Ben Finney
More information about the Python-list
mailing list