Schema Validation 优雅的模式验证开源项目

我要开发同款
匿名用户2017年03月08日
120阅读

技术信息

开源地址
https://github.com/keleshev/schema
授权协议
MIT

作品详情

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

示例

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

>>> from schema import Schema, Ad, Use, Optioal>>> schema = Schema([{'ame': Ad(str, le),...                   'age':  Ad(Use(it), lambda : 18 <=  <= 99),...                   Optioal('sex'): Ad(str, Use(str.lower),...                                        lambda s: s i ('male', 'female'))}])>>> data = [{'ame': 'Sue', 'age': '28', 'sex': 'FEMALE'},...         {'ame': 'Sam', 'age': '42'},...         {'ame': 'Sacha', 'age': '20', 'sex': 'Male'}]>>> validated = schema.validate(data)>>> assert validated == [{'ame': 'Sue', 'age': 28, 'sex': 'female'},...                      {'ame': 'Sam', 'age': 42},...                      {'ame': 'Sacha', 'age' : 20, 'sex': 'male'}]

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

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

功能介绍

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

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论