【发布时间】:2017-11-02 19:57:06
【问题描述】:
我正在尝试使用 argparse 以只接受一个或一次的方式实现一个命令行参数。多次出现应该被拒绝。
我使用下面的代码
#!/usr/bin/env python3
import argparse
cmd_parser = argparse.ArgumentParser()
cmd_parser.add_argument('-o', dest='outfile')
cmd_line = cmd_parser.parse_args()
print(cmd_line.outfile)
一个参数给出了预期的结果:
./test.py -o file1
file1
当两次发出参数时,第一次出现被静默忽略:
./test.py -o file1 -o file2
file2
我也尝试了nargs=1 和action='store',但没有达到预期的结果。
如何告诉 argparse 拒绝多个参数出现?
【问题讨论】:
-
最近的回答 stackoverflow.com/questions/68170827/… 建议使用“追加”操作。