[Python-Dev] PEP 389: argparse - new command line parsing module
Michael Foord
fuzzyman at voidspace.org.uk
Sat Oct 3 18:21:43 CEST 2009
Steven Bethard wrote:
> [snip...]
>> I'd be much more interested in Guido's suggestion of auto-generated custom
>> help messages for sub-commands.
>>>> Maybe I misunderstood, but I think this is already the default
> argparse behavior, no?
>>Cool. I didn't realise that help for subcommands was already
implemented. :-)
Michael
> import argparse
> parser = argparse.ArgumentParser()
> parser.add_argument('--foo')
> subparsers = parser.add_subparsers()
> parser1 = subparsers.add_parser('1')
> parser1.add_argument('--bar')
> parser2 = subparsers.add_parser('2')
> parser2.add_argument('baz')
> parser.parse_args(['--help'])
>>>>>> import argparse
>>>> parser = argparse.ArgumentParser()
>>>> parser.add_argument('--foo')
>>>> subparsers = parser.add_subparsers()
>>>> parser1 = subparsers.add_parser('1')
>>>> parser1.add_argument('--bar')
>>>> parser2 = subparsers.add_parser('2')
>>>> parser2.add_argument('baz')
>>>>>>>>>> # top level argument help
>>>> parser.parse_args(['--help'])
>>>>> usage: [-h] [--foo FOO] {1,2} ...
>> positional arguments:
> {1,2}
>> optional arguments:
> -h, --help show this help message and exit
> --foo FOO
>>>>>> # help for subparser 1
>>>> parser.parse_args(['1', '--help'])
>>>>> usage: 1 [-h] [--bar BAR]
>> optional arguments:
> -h, --help show this help message and exit
> --bar BAR
>>>>>> # help for subparser 2
>>>> parser.parse_args(['2', '--help'])
>>>>> usage: 2 [-h] baz
>> positional arguments:
> baz
>> optional arguments:
> -h, --help show this help message and exit
>> Steve
>
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
More information about the Python-Dev
mailing list