python pydantic校验字典
时间: 2023-06-23 14:45:07 浏览: 117
可以使用 Pydantic 库来校验字典。Pydantic 是一个用于数据验证和设置的 Python 库,它可以帮助我们定义数据模型并对数据进行校验。
以下是一个示例代码,演示如何使用 Pydantic 来校验一个字典:
```python
from pydantic import BaseModel, validator
class Person(BaseModel):
name: str
age: int
@validator('age')
def check_age(cls, v):
if v < 0:
raise ValueError('Age must be non-negative')
return v
person_dict = {'name': 'Alice', 'age': -5}
person = Person(**person_dict)
```
在上面的代码中,我们定义了一个名为 `Person` 的 Pydantic 模型,该模型有两个属性 `name` 和 `age`,分别表示人的姓名和年龄。我们使用 `@validator` 装饰器来定义一个名为 `check_age` 的方法,该方法用于检查年龄是否小于零。如果年龄小于零,我们将引发一个 `ValueError` 异常。最后,我们使用 `Person(**person_dict)` 来创建一个 `Person` 对象,并将字典作为参数传递给构造函数。
如果字典中的值不符合模型定义的规范,Pydantic 将引发一个 `ValidationError` 异常,告诉我们哪个字段未通过验证,以及出了什么问题。
阅读全文