通过argparse接受参数

时间:2018-06-02 08:39:26

标签: python argparse

nargs='*'nargs='+'之间的区别是什么?

因为他们都接受一个或多个论点。

parser.add_argument('nums',narg='*')

并且

parser.add_argument('nums',narg='+')

1 个答案:

答案 0 :(得分:0)

argparse遵循re语法中的常见用法。引自https://docs.python.org/3/library/re.html

  

*   使得到的RE匹配前面RE的0或更多次重复,尽可能多的重复。 ab *将匹配'a','ab'或'a',后跟任意数量的'b'。

     

+   使得到的RE匹配前一个RE的1次或更多次重复。 ab +将匹配'a',后跟任何非零数字的'b';它不会只匹配'a'。

     

?   使得到的RE匹配前面RE的0或1次重​​复。 AB?将匹配'a'或'ab'。

https://docs.python.org/3/library/argparse.html#nargs

您还可以使用argparse常量,它们具有相同的字符串值

argparse.ONE_OR_MORE
argparse.ZERO_OR_MORE
argparse.OPTIONAL