[Python-Dev] PEP 389: argparse - new command line parsing module
Robert Kern
robert.kern at gmail.com
Sat Oct 3 23:21:46 CEST 2009
More information about the Python-Dev mailing list
Sat Oct 3 23:21:46 CEST 2009
- Previous message: [Python-Dev] PEP 389: argparse - new command line parsing module
- Next message: [Python-Dev] PEP 389: argparse - new command line parsing module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Steven D'Aprano wrote: > On Sun, 4 Oct 2009 04:46:19 am Yuvgoog Greenle wrote: > >> I just think that if a parser error is causing the SystemExit, I >> would rather catch a parser error than catching a SystemExit for the >> sake of readability. It saves me the comments: >> >> # Catching SystemExit because parse_args() throws SystemExit on >> parser errors. > > But why are you catching the error? As a general rule, you *want* your > command line app to exit if it can't understand the arguments you pass > to it. What else can it do? Guess what you wanted? There are uses of argparse outside of command line apps. For example, I use it to parse --options for IPython %magic commands. Of course, I just subclass ArgumentParser and replace the .error() method. I require a particular IPython exception type in order for the error to be recognized correctly in the %magic subsystem. The other use case, as mentioned earlier, was for debugging your parser on the interactive prompt. A custom subclass may also be able to hold more machine-readable information about the error than the formatted error message, but I don't have any particular use cases about what may be the most useful. -- 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
- Previous message: [Python-Dev] PEP 389: argparse - new command line parsing module
- Next message: [Python-Dev] PEP 389: argparse - new command line parsing module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list