nargs='*'
和nargs='+'
之间的区别是什么?
因为他们都接受一个或多个论点。
parser.add_argument('nums',narg='*')
并且
parser.add_argument('nums',narg='+')
答案 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