带有可变选项的 argparse 操作菜单

argparse action menu with variable options

我正在尝试构建一个程序,将第一个参数作为一个动作(如 program listprogram createprogram delete 等),然后使用其余参数在操作上下文中提供的选项(如 -c--all 等)。

如何为我在第一个参数中定义的每个操作多次定义相同的可选参数?

你可以这样使用:

parser = argparse.ArgumentParser()
parser.add_argument("action", type=str, help="action like create or delete")
parser.add_argument("-c", action="count", default=0)

在这种情况下,不带 -c 的第一个参数将存储在 action 变量中。

@hpaulj 的评论帮我解决了这个问题。我使用了子解析器并创建了单独的上下文来为脚本中的每个主要操作存储配置。

可在此处找到示例: