多次指定同一个参数时,默认的argparse行为是最后一个指定的值“wins”,覆盖上一个值。我希望argparse在多次指定同一参数时显示错误,而不是默默地覆盖第一个指定的值。你知道吗
怎么能做到呢?你知道吗
我的当前代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-t', '--test', # either of this switches
type=str, # parameter is string
dest='test', # store in 'test'.
required=True # required
)
调用脚本:
myscript.py -t hello -t world
不会导致错误,test
具有值world。在这种情况下,我希望argparse显示一个错误,因为默认行为在我看来是容易出错的。你知道吗
最简单的方法是使用
action="append"
并检查结果是否为len>;1:但是更好的方法是在解析器中解决问题,这样就可以得到统一的错误处理。这可以通过如下自定义操作完成:
相关问题 更多 >
编程相关推荐