[파이썬] YAML 파일의 표현과 파싱

YAML은 인간이 쉽게 읽고 작성할 수 있는 데이터 직렬화 양식입니다. 이것은 특히 설정 파일 및 데이터 전송을 위한 구조화 된 데이터 포맷으로 널리 사용됩니다. Python에서 YAML 파일을 표현하고 파싱하는 방법에 대해 알아보겠습니다.

YAML 파일의 표현

YAML 파일은 키-값 쌍의 목록 형식으로 작성됩니다. 주석과 들여쓰기를 통해 데이터를 구조화합니다. 일반적인 YAML 파일 예시는 다음과 같습니다:

# YAML 파일 예시
person:
  - name: John Smith
    age: 30
    occupation: Developer
  - name: Jane Doe
    age: 25
    occupation: Designer

위의 예시는 person이라는 키에 대한 두 명의 사람 정보를 포함합니다. 각 사람은 이름, 나이 및 직업을 가지고 있습니다.

Python에서 YAML 파싱하기

Python에서 YAML 파일을 파싱하기 위해서는 pyyaml 패키지를 설치해야 합니다. 다음은 YAML 파일을 파싱하고 Python에서 데이터로 사용하는 예시입니다:

import yaml

# YAML 파일 로드
with open('data.yaml', 'r') as file:
    data = yaml.load(file, Loader=yaml.FullLoader)

# 데이터 사용 예시
for person in data['person']:
    name = person['name']
    age = person['age']
    occupation = person['occupation']
    print(f"Name: {name}, Age: {age}, Occupation: {occupation}")

위의 코드는 data.yaml 파일을 로드하고 person 키의 값을 순회하면서 각 사람의 정보를 출력합니다.

예외 상황 처리

파일이나 값이 유효하지 않은 경우를 대비해 예외 상황을 처리하는 것이 좋습니다. 다음은 YAML 파일을 로드하는 과정에 예외 처리를 추가한 예시입니다:

try:
    with open('data.yaml', 'r') as file:
        data = yaml.load(file, Loader=yaml.FullLoader)
except FileNotFoundError:
    print("File not found!")
except yaml.YAMLError as e:
    print(f"Error parsing YAML: {e}")

위의 예시에서는 파일이 존재하지 않거나 YAML 구문을 파싱하는 중에 문제가 발생하는 경우에 대비한 예외 처리를 합니다.

결론

이제 YAML 파일의 표현과 파싱에 대해 알아보았습니다. YAML은 사람이 읽기 쉽고 작성하기 편리한 형식이기 때문에 Python에서 이를 활용하는데 많은 도움이 될 수 있습니다. pyyaml 패키지를 사용하여 YAML 파일을 파싱하는 방법에 대해 알아보았으며, 예외 처리를 통해 잠재적인 오류를 처리하는 방법도 배웠습니다. YAML 파일을 더욱 유연하게 활용하기 위해 학습을 계속하면 좋습니다.