python - argparse 以验证 python 中的未知参数
问题描述
测试1.py:
_argParserObj = argparse.ArgumentParser()
_argParserObj.add_argument('--tool', type=str, dest='tool')
parsedArgs, passthroughs = _argParserObj.parse_known_args()
当 test1.py 执行如下
test1.py --tool abc arg1 arg2 --invalid_switch
我想显示以下错误。但仍接受 arg1 和 arg2 作为额外参数
test1.py:错误:无法识别的参数:-invalid_switch
目前它也只是解析invalid_switch
一个 passthrough 并抛出任何错误。
谁能建议如何实现这一目标?
解决方案
您可以尝试parse_args()
代替parse_known_args()
_argParserObj = argparse.ArgumentParser()
_argParserObj.add_argument('--tool', type=str, dest='tool')
parsedArgs, passthroughs = _argParserObj.parse_args()
parse_args()
将在您的情况下显示此错误
test.py: error: unrecognized arguments: --invalid_switch
推荐阅读
- python - 在排序一个列表期间将不同列表中的相关元素保持在一起
- c# - 如何对通用列表对象进行排序
- javascript - 向和从 js 服务器发送数据的基本方法?
- json - 使用 Pyspark 处理 JSON 结构
- amazon-web-services - 为什么角色假设应该在 lambda 内部完成?
- html - 如何将数值绑定到 CSS 以创建时间线?
- docker - 如何为 docker compose 环境变量设置运行时变量
- javascript - 仅在 Javascript 中具有不同段落的动态 Div
- tsql - 表格模型中的测量列未在浏览器中显示正确的值
- javascript - 调用此函数时如何获取返回值?