博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【AMAD】schema -- 使用pythonic的方式进行schema验证
阅读量:5102 次
发布时间:2019-06-13

本文共 1039 字,大约阅读时间需要 3 分钟。

动机

验证数据是否符合规范是很有用的,比如:

  • 用于单元测试
  • 用于验证用户提交的数据是否合法

简介

schema是一个用来验证python数据结构的库。

可以用来验证诸如:

  • 配置文件
  • 表单
  • 外部服务
  • 命令行解析
  • JSON/YAML转换后的数据

用法

这个库相对于jsonschema,看起来更加的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'}]

个人评分

类型 评分
实用性 ⭐️⭐️⭐️
易用性 ⭐️⭐️⭐️
有趣性 ⭐️⭐️

  1.  

  2.  

转载于:https://www.cnblogs.com/thomaszdxsn/p/amadschema--shi-yongpythonic-de-fang-shi-jin-xings.html

你可能感兴趣的文章
$CH0201$ 费解的开关
查看>>
【BZOJ4538】【HNOI2016】网络(树链剖分,线段树,堆)
查看>>
【Luogu1345】周游加拿大(动态规划)
查看>>
【BZOJ3998】弦论(后缀自动机)
查看>>
Scintilla - An excellent source editting control
查看>>
面向对象程序设计_Task5_Calculator1.5.0
查看>>
MySQL数据库和实例简介
查看>>
spring扫描配置文件
查看>>
[转]10个学习Android开发的网站推荐
查看>>
STM32 KEIL 下的 printf 函数
查看>>
linux awk,sort,uniq,wc,cut命令详解
查看>>
1、认识和安装MongoDB
查看>>
nginx的编译安装以及启动脚本编写
查看>>
制作首页的显示列表
查看>>
pycharm最常用的快捷键总结
查看>>
ASP.NET操作DataTable各种方法总结(给Datatable添加行列、DataTable选择排序等)
查看>>
微软编程一小时--微软2014实习生招募编程模拟测试感想
查看>>
random模
查看>>
RESTful
查看>>
第05课 Linux命令初探(一)
查看>>