AttributeError: 'Namespace' object has no attribute 'x'

AttributeError: 'Namespace' object has no attribute 'x'

我想捕获未定义的参数。如何捕捉它们?

首先,我要定义解析器:

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

您可以使用 try/except

try:
    x = args.x
except AttributeError:
    x = False

这样,如果 x 可从 args 获得,您可以分配它,否则回退到默认值。