[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