Schema Validation 优雅的模式验证

程序名称:Schema Validation

授权协议: MIT

操作系统: 跨平台

开发语言: Python

Schema Validation 介绍

Schema 是一个用于验证 Python 数据结构的库,比如从配置文件、表单、外部服务或者命令行解析到的,从 JSON / YAML(或其他)转换为
Python 数据类型的库。

示例

这里有一个快速示例来感受 Schema 能做的事,验证具有个人信息的条目列表:

>>> from schema import Schema, And, Use, Optional

>>> schema = Schema([{'name': And(str, len),
...                   'age':  And(Use(int), lambda n: 18 <= n <= 99),
...                   Optional('sex'): And(str, Use(str.lower),
...                                        lambda s: s in ('male', 'female'))}])

>>> data = [{'name': 'Sue', 'age': '28', 'sex': 'FEMALE'},
...         {'name': 'Sam', 'age': '42'},
...         {'name': 'Sacha', 'age': '20', 'sex': 'Male'}]

>>> validated = schema.validate(data)

>>> assert validated == [{'name': 'Sue', 'age': 28, 'sex': 'female'},
...                      {'name': 'Sam', 'age': 42},
...                      {'name': 'Sacha', 'age' : 20, 'sex': 'male'}]

如果数据有效,Schema.validate 将返回验证的数据。

如果数据无效,Schema 将引发 SchemaError 异常。

Schema Validation 官网

https://github.com/keleshev/schema

相关编程语言

IPTraf是一个使用简单的网络状况监视工具。
所谓 rootkit ,是一类入侵者经常使用的工具。这类工...
系统管理员可以利用Health Monitor 去监控网络中的每...
当服务器遭到黑客攻击时,在多数情况下,黑客可能对...
Hobbit是一个基于WEB用于监视系统运行状态和网络信息...
MX4J是Java管理扩展技术的一个开源实现,支持JSR3 (...