如何使用Python中的Cerberus验证数据
更多Python相关文章,请阅读:Python 教程
介绍
Cerberus模块在Python中提供强大而轻量级的数据验证功能。它设计得可以扩展到各种应用和自定义验证。
我们首先定义一个模式,然后根据模式验证数据并检查它是否符合提供的条件。如果不符合要求,就会显示准确的错误信息。
可以同时对数据字段应用各种条件进行验证。
入门
为了使用Cerberus,你必须先安装它,因为它不随Python一起打包。
要下载和安装它,我们使用pip包管理器。
启动终端并使用以下命令。
pip install Cerberus
一旦成功下载并安装Cerberus库,您必须将其验证器模块导入到Python脚本中。
from cerberus import Validator
就这样,您已准备好开始验证数据了。
验证字典中存在的数据
首先,我们必须创建一个模式。
schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)
这意味着在Python字典中,numbers字段必须仅包含整数。
data = {'numbers': 5}
以上是我们需要验证的数据。
if v.validate(data):
print("数据有效")
else:
print("数据无效")
这将针对我们之前创建的模式验证数据。
示例
from cerberus import Validator
schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)
data = {'numbers': 5}
if v.validate(data):
print("数据有效")
else:
print("数据无效")
输出
数据有效。
使用各种规则进行验证并打印错误信息
from cerberus import Validator
v = Validator()
v.schema = {'ID': {'required': True, 'type': 'number'},
'age': {'type': 'integer'}}
if v.validate({'age': 60}):
print('数据有效')
else:
print('数据无效')
print(v.errors)
输出
数据无效,{'ID': ['必须填写']}
设置最小和最大值范围
from cerberus import Validator
v = Validator()
v.schema = {'name': {'type': 'string', 'minlength': 5},
'age': {'type': 'integer', 'min': 18, 'max': 65}}
if v.validate({'name': 'VJ', 'age': 16}):
print('数据有效')
else:
print('数据无效')
print(v.errors)
输出
数据无效
{'age': ['最小值为18'], 'name': ['最小长度为5']}
以上就是使用Cerberus库验证字典、json文件等数据的方式。
结论
你已经学会了使用Cerberus库按照自己的自定义模式验证数据。
使用此方法,您可以验证json文件、从API提取的数据等。
我们主要验证数据以避免在构建数据库或处理数据分析时发生错误。
您甚至可以自动验证数据并基于此构建动态网站。
极客教程