[python] PyYAML로 YAML 문서 생성하기

PyYAML은 파이썬에서 YAML 문서를 생성하고 구문 분석하는 라이브러리입니다. YAML은 인간이 읽고 쓰기 편한 데이터 직렬화 형식으로, 주로 설정 파일이나 데이터 교환에 사용됩니다.

PyYAML 설치하기

PyYAML을 설치하기 위해서는 pip를 사용합니다. 다음 명령을 터미널에서 실행하여 PyYAML을 설치할 수 있습니다:

pip install pyyaml

만약 가상환경을 사용하고 있다면, 가상환경 내에서 위 명령을 실행해야 합니다.

YAML 문서 생성하기

PyYAML을 사용하여 YAML 문서를 생성하는 방법을 알아보겠습니다. 먼저 다음과 같이 PyYAML을 가져옵니다:

import yaml

YAML 문서는 파이썬의 딕셔너리나 리스트와 비슷한 형태로 구성됩니다. 따라서 YAML 문서를 생성하기 위해 딕셔너리나 리스트를 사용해야 합니다. 예를 들어, 다음과 같이 YAML 문서를 생성할 수 있습니다:

data = {
    'name': 'John Doe',
    'age': 30,
    'email': 'johndoe@example.com'
}

yaml_data = yaml.dump(data)

위 코드에서 data는 딕셔너리로 YAML 문서의 내용을 나타냅니다. yaml.dump(data) 함수는 주어진 데이터를 YAML 형식으로 변환하여 반환합니다.

YAML 문서를 파일로 저장하려면 yaml.dump() 함수를 사용한 후 반환값을 파일에 쓰면 됩니다. 예를 들어, 다음과 같이 YAML 문서를 파일에 저장할 수 있습니다:

with open('data.yaml', 'w') as f:
    yaml.dump(data, f)

위 코드에서 ‘data.yaml’은 파일의 경로와 이름을 나타내며, ‘w’는 파일을 쓰기 모드로 열겠다는 의미입니다.

YAML 문서 생성 예제

다음은 PyYAML을 사용하여 복잡한 YAML 문서를 생성하는 예제입니다. 이 예제에서는 리스트와 딕셔너리를 중첩하여 사용합니다:

data = {
    'fruits': ['apple', 'banana', 'orange'],
    'sports': {
        'indoor': ['tennis', 'badminton'],
        'outdoor': ['soccer', 'basketball']
    }
}

yaml_data = yaml.dump(data)

with open('data.yaml', 'w') as f:
    yaml.dump(data, f)

위 코드를 실행하면 다음과 같은 내용의 ‘data.yaml’ 파일이 생성됩니다:

fruits:
- apple
- banana
- orange
sports:
  indoor:
  - tennis
  - badminton
  outdoor:
  - soccer
  - basketball

결론

PyYAML을 사용하면 파이썬에서 YAML 문서를 생성할 수 있습니다. 이를 활용하여 설정 파일 생성이나 데이터 교환에 유용하게 사용할 수 있습니다. PyYAML의 자세한 사용법은 공식 문서를 참고하시기 바랍니다.