Утвердить слова в Python - PullRequest
18 голосов
/ 16 мая 2011


я ищу инструмент, или примеры, чтобы / как проверить словари в Python.
Например, у меня есть dict:

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

И теперь я должен подтвердить это. Допустим, значение для ключа foo должно быть логическим False или непустой строкой. Далее, если ключ foo1 имеет значение bar1, этот ключ foo2 должен быть int в диапазоне 1..10. Я написал простую функцию, чтобы сделать это, но это не то, что я точно хочу. Да, конечно, я могу проверить каждый элемент в dict с помощью if..else, но если в dict> 50 элементов, это немного не удобно.

Есть ли какой-нибудь хороший инструмент / lib для этого на Python? Я не ищу парсеры, только быстрый и эффективный способ сделать это правильно.

Ответы [ 4 ]

27 голосов
/ 16 мая 2011

Voluptous - хороший инструмент, который делает это http://pypi.python.org/pypi/voluptuous

4 голосов
/ 06 января 2014

Вы также можете попробовать ссылку ниже:
https://github.com/sunlightlabs/validictory
Это отличный пакет, который помогает в проверке проще

2 голосов
/ 23 июля 2016

Я настоятельно рекомендую Цербер для его читабельности или jsonschema , потому что он использует JSON Schema стандарт

0 голосов
/ 12 февраля 2015

Webster - это пакет pypi, который выполняет проверку словаря и проверку правильности регулярного выражения. Это позволяет вам убедиться, что в словаре есть все ключи, которые он должен использовать, и значения более или менее соответствуют ожидаемым.

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

...