argparse - Combining parent parser, subparsers and default values
I wanted to define different subparsers in a script, with both inheriting options from a common parent, but with different defaults. It doesn't work as expected, though. Here's what I did: import argparse # this is the top level parser parser = argparse.ArgumentParser(description='bla bla') # this serves as a parent parser base_parser = argparse.ArgumentParser(add_help=False) base_parser.add_argument('-n', help='number', type=int) # subparsers subparsers = parser.add_subparsers() subparser1= subparsers.add_parser('a', help='subparser 1', parents=[base_parser]) subparser1.set_defaults(n=50)