如何在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提取的資料等。

我們主要為了避免在構建資料庫或進行資料分析時出現錯誤而驗證資料。

您甚至可以自動化資料驗證並構建基於此的動態網站。

更新於:2021年2月11日

1K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告