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