Python 通过argparse接受参数

Python 通过argparse接受参数,python,argparse,Python,Argparse,nargs='*'和nargs='+'之间有什么区别 因为他们都接受一个或多个论点 parser.add_argument('nums',narg='*') 及 argparse遵循re语法中的常见用法。引用 * 使生成的RE与前一个RE的0个或多个重复匹配,尽可能多的重复。ab*将匹配“a”、“ab”或“a”,后跟任意数量的“b” + 使结果RE与前一个RE的1个或多个重复匹配。ab+将匹配“a”,后跟任何非零个“b”;它不会只匹配“a” ?? 使结果RE与前一个RE的0或1次重复匹配。ab

nargs='*'
nargs='+'
之间有什么区别

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

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


argparse
遵循
re
语法中的常见用法。引用

* 使生成的RE与前一个RE的0个或多个重复匹配,尽可能多的重复。ab*将匹配“a”、“ab”或“a”,后跟任意数量的“b”

+ 使结果RE与前一个RE的1个或多个重复匹配。ab+将匹配“a”,后跟任何非零个“b”;它不会只匹配“a”

?? 使结果RE与前一个RE的0或1次重复匹配。ab?将匹配“a”或“ab”

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

argparse.ONE_OR_MORE
argparse.ZERO_OR_MORE
argparse.OPTIONAL
发件人:
“+”。与“*”一样,所有存在的命令行参数都被收集到一个列表中。此外,如果没有至少一个命令行参数,将生成一条错误消息。
记下最后一句话-这就是区别所在。
argparse.ONE_OR_MORE
argparse.ZERO_OR_MORE
argparse.OPTIONAL