pydantic初探

数据校验的的专业工作请看pydantic

复制代码
 1 from pydantic import BaseModel, conint, ValidationError
 2 
 3 
 4 class NumVerify(BaseModel):
 5     # 限定范围
 6     expected_number: conint(ge=0, le=100)
 7 
 8 
 9 def input_number():
10     while True:
11         number = input(">>请输入:")
12         try:
13             number_input = NumVerify(expected_number=number)
14         except ValidationError as e:
15             print(e)
16             continue
17         else:
18             number = number_input.expected_number
19             break
20     print(">>your number is {}".format(number))
21 
22 
23 if __name__ == '__main__':
24     input_number()
复制代码

output: 

  >>请输入:-89
  1 validation error for NumVerify
  expected_number
  ensure this value is greater than or equal to 0 (type=value_error.number.not_ge; limit_value=0)
  >>请输入:101
  1 validation error for NumVerify
  expected_number
  ensure this value is less than or equal to 100 (type=value_error.number.not_le; limit_value=100)
  >>请输入:10
  >>your number is 10

 

还可以定义一个数据模型,继承自BaseModel,内部规定一些字段,对这些字段执行校验,同时校验器还可以使用

posted on   默玖  阅读(66)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示