数据校验

| 分类 python  | 标签 util  schema  浏览次数: -

安装 github地址

pip install schma

基本用法

import schema
schema.Schema(xxx).validate(data)
# 其中参数xxx可以是:
# 基本数据类型::比如int/float/list/tuple/set/str等。
# 函数: list, tuple, set, frozenset, dict实例
# 某个重写了validate方法的类: 比如Use

验证失败报 SchemaError 异常,需要自己处理

try:
    # 判断是否为 int 类型数据
    result = schema.Schema(int).validate(12.3)
except schema.SchemaError as e:
    # 验证失败则是抛出 SchemaError 异常
    print "异常:", str(e)

先进行转换在验证

schema.Schema(Use(int)).validate('123')

参数是容器类型

schema.Schema([1, 0]).validate([1, 1, 0, 0]) # 数据只能是1,0

验证字典的key, value

schema.Schema({'name': str, 'age': lambda n: 10 < n < 99}).validate({'name': 'abc', 'age': 14})

部分键值验证, 不用验证的部分写object即可

schema.Schema({'name': str, str: object}).validate({'name': '0', 'aa': 'da'})

Optional 可选: dd可以不存在,但存在必须是int类型

schema.Schema({'name': str, Optional('dd'): int}).validate({'name': 'Sam', 'dd': 1})

And 与

schema.Schema({'age': And(int, lambda n: 0 < n < 100)}).validate({'age': 7})

Or 或

schema.Schema(And(Or(int, float), lambda x: x > 0)).validate(3.6)

上一篇 windows 共享网络     下一篇 幂函数O(logN)实现
目录导航