Python argparse接受变量参数(偶数标志)

时间:2017-01-26 08:57:59

标签: python

我有以下

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"]

为什么会失败?

1 个答案:

答案 0 :(得分:1)

我认为您可以使用nargs=argparse.REMAINDER。请参阅https://docs.python.org/3/library/argparse.html#nargs