我的程序接收参数(是的,这里是原始概念),第一个是“类型”。我想添加一个参数“foo”,只要这个“类型”设置为某个值。我可以使用subparser或其他任何东西吗?
以下是我要做的摘要:
parser = argparse.ArgumentParser()
parser.add_argument('-t', '--type', nargs=1, type=str, required=True)
subparsers = parser.add_subparsers()
# HERE: if parent subparser's type == 'a', allow use of argument "foo"
# else it is forbidden
parser_a = subparsers.add_parser(...)
parser_a.add_argument('-foo', help='bar help')