【发布时间】:2021-11-14 03:45:47
【问题描述】:
我想捕获未定义的参数。怎么抓?
首先,我要定义解析器:
import argparse
parser.add_argument("--first", default='first', help='first argument')
args = parser.parse_args()
然后,我故意取一个不存在的论点:
args.x
出现错误:AttributeError: 'Namespace' object has no attribute 'x'
好吧,我不知道怎么处理,就说它不存在,所以我会设置一个变量为False例如。
【问题讨论】:
-
您在什么情况下需要来处理它,而不是仅仅将其视为一个错误并确保
x确实存在?也就是说,getattr(args, 'x', False). -
您可以使用
hasattr来检查一个值 -
好的。感谢您的帮助
标签: python argparse python-3.8