我有以下
p = ThrowingArgumentParser()
p.add_argument('action', type=str, choices=actions)
p.add_argument('args', nargs='*')
这是多级应用程序的一部分。在第一级中,我关心的命令格式为command other-things-that-will-be-parsed-by-the-sub-module
(例如get user john
)。所以我除了获得action = "get"
和args = ["user", "john"]
。
到目前为止一切顺利。但是,如果我包含一个标志,所有地狱都会松动(get user john --detailed
)。这将返回None
。但我希望像以前一样:action = "get"
和args = ["user", "john", "--detailed"]
。
为什么会失败?
答案 0 :(得分:1)
我认为您可以使用nargs=argparse.REMAINDER
。请参阅https://docs.python.org/3/library/argparse.html#nargs。