Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 Cerberus를 사용하여 데이터를 검증하는 방법

<시간/>

소개

python의 Cerberus 모듈은 강력하면서도 가벼운 데이터 유효성 검사 기능을 제공합니다. 다양한 애플리케이션과 사용자 정의 검증으로 확장할 수 있도록 설계되었습니다.

먼저 스키마를 정의한 다음 스키마에 대해 데이터의 유효성을 검사하고 제공된 조건과 일치하는지 확인합니다. 그렇지 않은 경우 정확한 오류가 발생하여 잘못된 위치를 표시합니다.

검증을 위해 데이터 필드에 다양한 조건을 한 번에 적용할 수 있습니다.

시작하기

Cerberus를 사용하려면 Python과 함께 제공되지 않으므로 먼저 설치해야 합니다.

다운로드 및 설치를 위해 pip 패키지 관리자를 사용합니다.

터미널을 실행하고 아래 명령어를 사용하세요.

pip install Cerberus

Cerberus 라이브러리를 성공적으로 다운로드하고 설치했으면 해당 유효성 검사기 모듈을 Python 스크립트로 가져와야 합니다.

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")

이것은 우리가 이전에 생성한 체계에 대해 데이터를 검증합니다.

예시

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에서 추출한 데이터 등의 유효성을 검사할 수 있습니다.

데이터베이스를 구축하거나 데이터 분석 작업을 하는 동안 오류를 방지하기 위해 주로 데이터를 검증했습니다.

데이터 검증을 자동화하고 이를 기반으로 동적 웹사이트를 구축할 수도 있습니다.