python argparse 子解析器

问题描述 投票:0回答:1

我有一个 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)
python argparse
1个回答
0
投票

我已经找到了解决方案。

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)
© www.soinside.com 2019 - 2024. All rights reserved.