尝试解析可选的位置参数时,我遇到了以下问题:
示例:
第三次程序调用为何无法接受?这是argparse的限制吗?
示例:
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())
输出:
$ ./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
第三次程序调用为何无法接受?这是argparse的限制吗?
argparse.py
文件来自 3.7 存储库,可与早期的 Py3 发行版一起使用。只需将其复制到您自己的目录中,可能会重命名,然后导入即可。 - hpauljyield from
行,防止在Py2下使用。我不记得还有其他的问题。我只安装了3.6,所以无法进一步测试它。 - hpaulj