voluptuous:字典列表.完全合规


test_data = [{'field1': 'value1',
'field2': 1},
{'field1': 'value3',
'field2': 2}
]

schema = Schema([
{Required('field1'): 'value1',
Required('field2'): int},
{Required('field1'): 'value3',
Required('field2'): int}

])
assert schema(test_data)

如何检查列表包含2与上面所示的结构字典吗?当我试图检查一个完整的匹配,我得到一个错误:voluptuous.error.MultipleInvalid:字典值@ data[1]['field1']不合法

我不是很熟悉voluptuous这个词,但是似乎没有voluptuous是不适合解析这种模式的。ExactSequence

你的模式看起来像:

schema = Schema(
ExactSequence(
[
{Required('field1'): 'value1', Required('field2'): int},
{Required('field1'): 'value3', Required('field2'): int}
]
))

最新更新