let optionparse.Optionparser ignore unknown command line switches.

News123 news1234 at free.fr
Sun Aug 1 17:43:36 CEST 2010

On 08/01/2010 05:34 PM, Steven W. Orr wrote:
> On 08/01/10 07:27, quoth News123:
>> On 08/01/2010 01:08 PM, News123 wrote:
>>> I wondered, whether there's a simple/standard way to let
>>> the Optionparser just ignore unknown command line switches.
>> In order to  illustrate, what I try to achieve:
>> import optparse
>> parser = optparse.OptionParser()
>> parser.add_option("-t","--test",dest="test",action="store_true")
>> argv=["tst.py","-t","--ignoreme_and_dont_fail"]
>> try:
>>     (options,args)=parser.parse_args(argv)
>> except:
>>     # due to --ignoreme_and_dont_fail
>>     # I will end up here and neither options nor
>>     # args will be populated
>>     print "parser error:"
>> # However I would love to be able to see here
>> # that options.test is true despite the
>> # error, that occurred afterwards
>> print "T",options.test
> You need to let us know *why* you want to do this. My psychotic imagination is
> contriving that you want to pass on the ignoremeanddontfail options to
> something else. If so, then you should be using -- instead of this. The other
> possible scheme to solve your unknown problem is to subclass OptionParser so
> it does what you want.

Hi Steven,

'--' is good for many use cases, but not for the one I'm looking at.

in my case one imported module should parse some of the options (but
only the one it understands) already during import.
the main program will have to parse the same options again.

More information about the Python-list mailing list