将 Validationerror 的迭代合并到 JSON Schema 中的一个 Validationerror 的迭代中
Merge iterables of Validationerror into one single iterable of Validationerror in JSON Schema
在 jsonschema
验证中,我希望在一个 for
循环中打印几个 instances
的所有 Validationerror
以及几个相应的 schemas
与用于一轮验证的 for
循环相反。我想做这样的事情:
validator = jsonschema.Draft4Validator(schema1)
errors1 = validator.iter_errors(instance1)
validator = jsonschema.Draft4Validator(schema2)
errors2 = validator.iter_errors(instance2)
for error in errors1 + errors2:
print error.message
但是,我做不到 errors1 + errors2
,因为它们是 generator
类型。有没有一种方法可以将所有错误添加到一个可迭代对象中,这样我就可以只使用一个 for
循环?任何帮助表示赞赏。谢谢。
这里有类似的问题How to join two generators in Python?
您必须使用 itertools.chain()
函数来加入生成器
for error in itertools.chain(errors1, errors2):
print error.message
在 jsonschema
验证中,我希望在一个 for
循环中打印几个 instances
的所有 Validationerror
以及几个相应的 schemas
与用于一轮验证的 for
循环相反。我想做这样的事情:
validator = jsonschema.Draft4Validator(schema1)
errors1 = validator.iter_errors(instance1)
validator = jsonschema.Draft4Validator(schema2)
errors2 = validator.iter_errors(instance2)
for error in errors1 + errors2:
print error.message
但是,我做不到 errors1 + errors2
,因为它们是 generator
类型。有没有一种方法可以将所有错误添加到一个可迭代对象中,这样我就可以只使用一个 for
循环?任何帮助表示赞赏。谢谢。
这里有类似的问题How to join two generators in Python?
您必须使用 itertools.chain()
函数来加入生成器
for error in itertools.chain(errors1, errors2):
print error.message