YAML은 사람이 읽고 작성하기 쉬운 데이터 직렬화 형식입니다. 이 포맷은 데이터를 표현하는데 사용되며, YAML 파일은 일반적으로 설정 파일이나 데이터 저장소로 사용됩니다.
PyYAML은 Python에서 YAML 파일을 읽고 쓰기 위한 라이브러리입니다. 이 라이브러리는 YAML 파일을 파이썬 객체로 로드하고, 파이썬 객체를 YAML 형식으로 저장할 수 있습니다.
하지만 때로는 로드된 데이터의 유형을 확인하고 검사해야 하는 경우가 있습니다. 이를 위해 PyYAML은 유효성 검사 스키마를 사용할 수 있습니다.
유효성 검사 스키마 정의하기
PyYAML을 사용하여 YAML 파일을 로드 할 때, 유효성 검사를 위한 스키마를 정의할 수 있습니다. 이를 통해 로드된 데이터의 유효성을 검사할 수 있습니다.
아래는 간단한 YAML 파일과 유효성 검사 스키마의 예입니다.
# example.yaml
name: John Doe
age: 30
email: john.doe@example.com
# example.py
import yaml
from yaml import SafeLoader
schema = {'name': str, 'age': int, 'email': str}
with open('example.yaml', 'r') as file:
data = yaml.load(file, Loader=SafeLoader)
def validate_data(data, schema):
for key, value in schema.items():
if key not in data or not isinstance(data[key], value):
return False
return True
if validate_data(data, schema):
print("Data is valid!")
else:
print("Data is invalid!")
schema
변수에는 유효성 검사를 위한 키-값 쌍이 포함되어 있으며, validate_data
함수는 데이터와 스키마를 전달받아 유효성을 검사합니다. 데이터가 스키마와 일치하지 않는 경우 False
를 반환하고, 일치하는 경우 True
를 반환합니다.
결과 확인하기
위의 예제 코드를 실행하면, PyYAML을 사용하여 YAML 파일을 로드하고 데이터를 검사할 수 있습니다.
만약 YAML 파일이 유효한 경우, “Data is valid!”라는 메시지가 출력될 것입니다. 그렇지 않은 경우 “Data is invalid!”라는 메시지가 출력됩니다.
이를 통해 PyYAML을 사용하여 YAML 파일 내의 데이터 유형을 검사할 수 있습니다.