我使用 Argparse 已经有一段时间了,这里是StackOverflow对我遇到的问题的回答。
这个答案并不能完全解决我的问题。
这是从答案中借来的编辑后的代码。(我在添加换行符之前添加了评论)
import argparse
parent_parser = argparse.ArgumentParser(description="The parent parser")
parent_parser.add_argument("-p", type=int, required=True,
help="set db parameter")
#adding a new parent argument
parent_parser.add_argument("-q", type=int, required=True,
help="help with -q")
subparsers = parent_parser.add_subparsers(title="actions")
parser_create = subparsers.add_parser("create", parents=[parent_parser],
add_help=False,
description="The create parser",
help="create the orbix environment")
parser_create.add_argument("--name", help="name of the environment")
parser_update = subparsers.add_parser("update", parents=[parent_parser],
add_help=False,
description="The update parser",
help="update the orbix environment")
编辑后的代码代表了这一点
- -p & -q 作为父参数
问题是,我不想在我的子解析器中使用新的父参数“-q”。
我只想在任何子解析器中使用参数“-p”。
这听起来有点不同,但是当我处理这么多子解析器时,我真的想要我的子解析器的最佳选择。
我该怎么做?