By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
464,421 Members | 1,233 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 464,421 IT Pros & Developers. It's quick & easy.

Re: optparse functionality missing

P: n/a
Jeff Keasler wrote:
>
Hi,

optparse doesn't seem to have a pass-through capability for command line
parameters/options that were not registered with add_option.

I'm not the first person to complain about this. On Wed Mar 17 08:20:10
CET 2004, there's a thread titled "Perceived optparse shortcomings"
where someone complains of the same problem.

In a scripting environment, I often want to strip some of the command
line options off the argument list, and then pass the remaining options
to another module that is deeper in the tool chain.

optparse doesn't seem to allow this, as far as I can tell. It requires
that you register all possible options with add_option() or an error is
flagged. When my second tier module is an autoconf script that could
have hundreds of its own options, it seems dumb to have to register all
those options, just to have to reconvert them to command-line options so
that I can pass them to the autoconf command line.

Could we get a mode added to optparse so that any commandline
parameters/options that are not registered via add_option() can be in
the args return value of the parse_args() method?
If you code it up with unit tests and documentation, it has a good chance. But
in the meantime, you can tell optparse to stop processing options using the
standard "--" marker. For example:

$ cat mycommand.py
import optparse

parser = optparse.OptionParser()
parser.add_option('--known-option', action='store_true')

options, args = parser.parse_args()
print 'options = %r' % (options,)
print 'args = %r' % (args,)

$ python mycommand.py --known-option -- --configure-flag --other-unknown
options = <Values at 0xb4a7d8: {'known_option': True}>
args = ['--configure-flag', '--other-unknown']

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Jun 27 '08 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.