我有一个 python 脚本,它响应 1 个命令和 1 个子参数:
command1
和 command1 plugins
parser = argparse.ArgumentParser()
# command1 (i.e. (--help,) --version)
parser.add_argument('--version', dest="version", action="store_true", default=False, help="Print the version.")
# command1 plugins (i.e. (--help,) --update, --upgrade) which it loads from another python file
parser = plugins_cmd.add_parsers(parser)
两者都有自己的参数可以传递,现在我想添加这个子参数:
command1 google ((--help,) --auth, --refresh)
我添加了以下内容,我希望添加一个额外的子参数google。
# command1 google (--help)
parser2 = google_cmd.add_parsers(parser)
我已经找到了解决方案。
def add_parsers(parser):
"""
Adds the plugins and google subcommands to a given argparse.ArgumentParser
"""
subparsers = parser.add_subparsers()
# Add parsers from plugins_cmd
plugins_cmd.add_parsers(subparsers)
# Add parsers from google_cmd
google_cmd.add_parsers(subparsers)
add_parsers(parser)