cleanUrl: "using-subcommands-in-python-argparse"
description: "Python argparse에서 subcommand를 만드는 방법에 대해 알아봅니다."

ArgumentParser.add_subparsers() 를 이용한다

# Create the top-level parser.
parser = argparse.ArgumentParser(prog='PROG')
parser.add_argument('--foo', action='store_true', help='foo help')
subparsers = parser.add_subparsers(dest='command', help='sub-command help')
# args.command 변수로 어떤 command를 call할지 판단할 수 있다.

parser_a = subparsers.add_parser('a', help='a help')
parser_a.add_argument('bar', type=int, help='bar help')

parser_b = subparsers.add_parser('b', help='b help')
parser_b.add_argument('--baz', choices='XYZ', help='baz help')

parser.parse_args(['a', '12'])
# >>> Namespace(bar=12, foo=False)

parser.parse_args(['--foo', 'b', '--baz', 'Z'])
# >>> Namespace(baz='Z', foo=True)