【AMAD】schema -- 使用pythonic的方式进行schema验证
- 动机
- 简介
- 用法
- 个人评分
动机
验证数据是否符合规范是很有用的,比如:
- 用于单元测试
- 用于验证用户提交的数据是否合法
简介
schema
1是一个用来验证python数据结构的库。
可以用来验证诸如:
- 配置文件
- 表单
- 外部服务
- 命令行解析
- JSON/YAML转换后的数据
用法
这个库相对于jsonschema
2,看起来更加的pythonic,也更加通用。后者使用js形式的字符串来注解,在很多idel里面甚至没有高亮提示。
>>> from schema import Schema, And, Use, Optional>>> schema = Schema([{'name': And(str, len),
... 'age': And(Use(int), lambda n: 18 <= n <= 99),
... Optional('gender'): And(str, Use(str.lower),
... lambda s: s in ('squid', 'kid'))}])>>> data = [{'name': 'Sue', 'age': '28', 'gender': 'Squid'},
... {'name': 'Sam', 'age': '42'},
... {'name': 'Sacha', 'age': '20', 'gender': 'KID'}]>>> validated = schema.validate(data)>>> assert validated == [{'name': 'Sue', 'age': 28, 'gender': 'squid'},
... {'name': 'Sam', 'age': 42},
... {'name': 'Sacha', 'age' : 20, 'gender': 'kid'}]
个人评分
类型 | 评分 |
---|---|
实用性 | ⭐️⭐️⭐️ |
易用性 | ⭐️⭐️⭐️ |
有趣性 | ⭐️⭐️ |
Github Repo ↩
Github: jsonschema ↩
转载于:https://www.cnblogs.com/thomaszdxsn/p/amadschema--shi-yongpythonic-de-fang-shi-jin-xings.html
【AMAD】schema -- 使用pythonic的方式进行schema验证相关推荐
- json schema多种形式_什么是JSON Schema?及其应用方式......
如果你曾经使用过XML Schema,RelaxNG或ASN.1,那么你很可能已经知道什么是JSON Schema,并且可以跳过本文的阅读.如果你是头一次听说,或者听过过这个词汇但不了解,那么你来对地 ...
- json schema多种形式_什么是JSON Schema?
什么是JSON Schema? 如果你曾经使用过XML Schema,RelaxNG或ASN.1,那么你很可能已经知道什么是JSON Schema,并且可以跳过本文的阅读.如果你是头一次听说,或者听过 ...
- Failed to read schema document ‘http://code.alibabatech.com/schema/dubbo/dubbo.xsd‘问题解决方法
Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd'问题解决方法 参考文章: (1)F ...
- Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd'问题解决方法
标签: dubboxmleclipse 2014-10-31 10:25 15976人阅读 评论(0) 收藏 举报 目录(?)[+] 我们公司使了阿里的dubbo,但是阿里的开源网站htt ...
- 域的非验证方式还原与验证方式还原的区别
救急:一台服务器要重装系统,怎么份域用户信息 在Windows2000中,备份与恢复Active Directory是一项非常重要的工作.在NT中,所有有关用户和企业配置方面的信息都存储在注册表中,因 ...
- 使用优雅方式对参数验证进行处理
我们在一般的接口函数开发中,为了安全性,我们都需要对传入的参数进行验证,确保参数按照我们所希望的范围输入,如果在范围之外,如空值,不符合的类型等等,都应该给出异常或错误提示信息.这个参数的验证处理有多 ...
- SSH远程管理、参数讲解、xshell使用、scp,sftp,ssh命令(ssh两种方式的密钥验证方...
1.SSH远程管理 SSH(Secure Sheel)是一种安全通道协议,主要用于实现字符界面的远程登录.远程复制等功能.SSH协议对通信双方的数据传输进行了加密处理,其中包括用户的口令.与早期的TE ...
- 转52破解jiangwei212Android爆破应用签名的一种全新高效方式(Native+服务器验证)
原文地址:Android爆破应用签名的一种全新高效方式(Native+服务器验证) http://www.52pojie.cn/thread-606272-1-1.html (出处: 吾爱破解论坛) ...
- Spark-sql:以编程方式执行Spark SQL查询(通过反射的方式推断出Schema,通过StrutType直接指定Schema)
1.编写Spark SQL查询语句 在这之前创建Maven项目.创建的过程如:http://blog.csdn.net/tototuzuoquan/article/details/74571374 在 ...
- oracle同库复制schema,使用impdp复制oracle的schema数据迁移 | 学步园
测试环境: 源: windows 2003, oracle 10202 目标:windows 2000, oracle 10203 注:本文中所说的 schema 和 user 是一个意思. impd ...
最新文章
- [leetcode][math] Add Digits
- Linux:Swap分区
- oracle学习数据,oracle学习中的一些心得
- Graphics在java的哪个包_如何在Java中成功扩展Graphics
- 如何设计日志系统_架构 - 如何设计一个百亿级日志系统
- Linux下Jenkins与GitHub自动构建NetCore与部署
- [NOI2012]美食节
- SkinSharp用法
- cisco最经典书籍 下载(全CCIE们的结晶)转载资料
- 移动Web利器transformjs入门
- 强化学习DQN算法实战之CartPole
- Euclidean, Manhattan, hop-count distance 区别
- Visual C++ 2005 系列课程学习笔记-6
- QT 基于饼状图的一个抽奖系统
- 罗技鼠标驱动怎么下载?
- linux怎么看本机ip,linux下查看本机IP的两种方法
- linux vi 拷贝多行,vi 整行 多行 复制与粘贴
- 【演歌】北の漁場 (北方的渔场) 歌词翻译
- 紫光同创国产FPGA学习之器件情况
- 云服务器和云虚拟主机有什么区别
热门文章
- Spring AOP(二)之AfterReturning增强处理
- 软件工程期末考试复习(二)
- 「CodePlus 2017 11 月赛」Yazid 的新生舞会(树状数组/线段树)
- 20171018校内训练
- Python高级特性:Python迭代、生成器、列表生成式
- MyEclipse控制台报错:java.lang.OutOfMemoryError: PermGen space
- 【转】中间语言(IL)和即时编译器(JIT)的关系剖析
- [转]CG编程概念 ,及CG编译器与VC6.0集成方法
- [转]VC 键盘虚拟码
- JS获取页面 GET 方式请求的参数