试图解析可选的位置参数我遇到了以下问题:
例:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('infile')
parser.add_argument('outfile', nargs='?')
parser.add_argument('-v', action='store_true')
print(parser.parse_args())
Run Code Online (Sandbox Code Playgroud)
输出:
$ ./x.py -v in out
Namespace(infile='in', outfile='out', v=True)
$ ./x.py in out -v
Namespace(infile='in', outfile='out', v=True)
$ ./x.py in -v out
usage: x.py [-h] [-v] infile [outfile]
x.py: error: unrecognized arguments: out
Run Code Online (Sandbox Code Playgroud)
为什么不接受第三个程序调用?这是argparse的限制吗?