2011-05-15 72 views
16


我正在寻找工具,或者在python中查找/如何验证字典的示例。
例如,我有字典:在Python中验证字典

test = {'foo' : 'bar', 'nested' : {'foo1' : 'bar1', 'foo2' : 'bar2'} } 

,现在我必须验证它。可以说,键值foo的值必须是布尔值或非空字符串。接下来,如果密钥foo1的值为bar1,则该密钥foo2必须为的整数范围为1..10。我写了简单的功能来做到这一点,但这并不是我想要的。是的,当然,我可以用if..else来测试字典中的每一项,但是如果字典有> 50个元素,那么它有点不舒服。

有什么好的工具/ lib在Python中做到这一点?我不是在寻找解析器,只有快速和有效的方法来做到这一点。

+0

这是一个罕见的情况。我认为这个特定任务没有解析器。也许你可以在字典上使用'map'功能。 – 2011-05-15 23:18:30

+0

**另请参阅**:https://stackoverflow.com/questions/45346374/python-schema-to-have-at-least-one-key – dreftymac 2017-09-29 15:36:57

回答

0

韦伯斯特是执行字典验证和值正则表达式验证的pypi包。这可以让您确保字典具有所有的关键字,它们的值应该与您所期望的大致相同。

https://pypi.python.org/pypi/Webster

+1

因为这是一个4年的问题,已经被接受的答案,如果你提供更多的细节会更好。您是否提出了更具创新性的解决方案?如果是,请解释它。你是否复制了提出的例子? – aberna 2015-02-12 20:59:07