2011-05-15 19 views
16


buscando herramientas, o ejemplos de/cómo validar diccionarios en python.
Por ejemplo, he dict:Validar los dicts en Python

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

Y ahora tengo que validarlo. Digamos que el valor para la clave foo debe ser booleano Falso o cadena no vacía. A continuación, si la clave foo1 tiene el valor bar1, esa clave foo2debe int en el rango 1..10. Escribí una función simple para hacer esto, pero esto no es exactamente lo que quiero. Sí, claro, puedo probar cada elemento en dict con if..else, pero si dict tiene> 50 elementos, entonces es un poco incómodo.

¿Hay alguna buena herramienta/lib para hacer esto en Python? No busco analizadores, solo rápido y una forma efectiva de hacerlo bien.

+0

este es un caso raro. Creo que no hay analizadores para esta tarea específica. Tal vez puedas usar la función 'map' sobre dict. –

+0

** Vea también **: https://stackoverflow.com/questions/45346374/python-schema-to-have-at-least-one-key – dreftymac

Respuesta

0

Webster es una paquete pypi que valida el diccionario y valida la expresión regular ... esto le permite asegurar que el diccionario tenga todas las claves que se supone que debe y los valores son más o menos lo que cabría esperar.

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

+1

ya que era una pregunta de 4 años con una respuesta ya aceptada, sería mejor si proporciona más detalles. ¿Estás proponiendo una solución más innovadora? En caso afirmativo, explíquelo. ¿Has replicado el ejemplo propuesto? – aberna

Cuestiones relacionadas