如何在python中使用Cerberus验证数据

介绍

python中的Cerberus模块提供了强大而轻巧的数据验证功能。它的设计方式使您可以将其扩展到各种应用程序和自定义验证。

我们首先定义一个模式,然后根据该方案验证数据,并检查其是否符合提供的条件。如果不是,则会抛出准确的错误以显示错误的位置。

可以将各种条件立即应用于数据字段以进行验证。

入门

为了使用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("Data is valid")
else:
   print("Data is invalid")

这将根据我们之前创建的方案验证数据。

示例

from cerberus import Validator
schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)
data = {'numbers': 5}
if v.validate(data):
   print("Data is valid")
else:
   print("Data is invalid")
输出结果
Data is valid .

验证各种规则和打印错误

from cerberus import Validator
v = Validator()
v.schema = {'ID': {'required': True, 'type': 'number'},
'age': {'type': 'integer'}}
if v.validate({'age': 60}):
   print('Data is valid')
else:
   print('Data is invalid')
   print(v.errors)
输出结果
Data is invalid, {'ID': ['required field']}

设置最小值和最大值范围

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('Data is valid')
else:
   print('Data is invalid')
   print(v.errors)
输出结果
Data is invalid
{'age': ['min value is 18'], 'name': ['min length is 5']}

就是这样,您现在可以使用Cerberus库以类似的方式验证字典,json文件等。

结论

您已经学习了使用Cerberus库和自己的自定义架构来验证数据。

使用此方法,您可以验证json文件,从API提取的数据等。

我们验证数据的主要目的是为了避免在构建数据库或进行数据分析时出错。

您甚至可以自动验证数据并基于该数据构建动态网站。

猜你喜欢