Why is the argparse module so inflexible?

Dave Angel davea at davea.name
Thu Jun 27 12:02:22 EDT 2013


On 06/27/2013 09:49 AM, Andrew Berg wrote:
> On 2013.06.27 08:08, Roy Smith wrote:
>> Can you give us a concrete example of what you're trying to do?
> The actual code I've written so far isn't easily condensed into a short simple snippet.
> I'm trying to use argparse to handle all the little details of parsing and verifying arguments in the precmd hook for a cmd.Cmd child class.
> argparse's help system is more sophisticated than cmd's help and does all the work of verifying arguments.
> The problem I keep running into is that I can't handle any bad input very well. I would have to override every method that catches
> ArgumentError in order to get a useful exception that I would then handle.
> If I input something that begins with '-' that isn't recognized, parse_args doesn't even raise the exception; it just quits.

No, it raises the SystemExit exception.  if you don't catch it, then the 
program exits.  Perhaps it's not clear to you, but sys.exit() just 
raises the SystemExit exception, as  Joshua pointed out.

> In this case,
> the message gets mangled if error is overridden, and I don't know why.
>

I can't help there.


-- 
DaveA



More information about the Python-list mailing list