[파이썬] 파일 객체와 YAML 파일 처리

Python은 데이터를 파일로 저장하고 읽는 데에 매우 유용한 기능들을 제공합니다. 이번에는 파일 객체와 YAML 파일 처리에 대해서 알아보겠습니다.

파일 객체

Python에서 파일을 읽거나 쓸 때에는 파일 객체를 사용합니다. 파일 객체를 생성하는 방법은 여러 가지가 있지만, 가장 일반적인 방법은 open() 함수를 사용하는 것입니다.

file = open('file.txt', 'r')

위의 코드는 현재 디렉토리에 있는 file.txt를 읽기 위한 파일 객체를 생성하는 예시입니다. 첫 번째 인자는 파일 경로이며, 두 번째 인자는 파일을 읽기 위한 옵션입니다. r은 읽기 모드를 나타냅니다. 다른 옵션으로는 w (쓰기), a (추가) 등이 있습니다.

파일을 다 사용한 뒤에는 반드시 close() 함수를 호출하여 파일을 닫아주어야 합니다.

file.close()

파일을 열고 닫는 과정을 간편하게 하기 위해 with 문을 사용할 수도 있습니다. 이렇게 하면 파일 작업이 종료되면 자동으로 파일이 닫히게 됩니다.

with open('file.txt', 'r') as file:
    # 파일 작업 수행

YAML 파일 처리

YAML은 인간이 읽기 쉽고 기계가 쓰기 쉬운 형식의 데이터 직렬화 방식입니다. Python에서는 pyyaml 패키지를 사용하여 YAML 파일을 읽고 쓸 수 있습니다.

먼저 pyyaml 패키지를 설치합니다.

pip install pyyaml

YAML 파일을 읽으려면 yaml.load() 함수를 사용합니다. 이 함수는 YAML 파일의 내용을 파이썬 객체로 변환하여 반환합니다.

import yaml

with open('data.yaml', 'r') as file:
    data = yaml.load(file, Loader=yaml.FullLoader)

위의 코드는 data.yaml 파일을 읽어서 data 변수에 저장하는 예시입니다. Loader=yaml.FullLoader는 YAML 로드 과정에서 안전하게 사용되도록 하는 옵션입니다.

YAML 파일을 쓰려면 yaml.dump() 함수를 사용합니다. 이 함수는 파이썬 객체를 YAML 형식의 문자열로 변환하여 파일에 씁니다.

import yaml

data = {'name': 'John', 'age': 30, 'hobbies': ['reading', 'coding']}

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

위의 코드는 data 딕셔너리를 YAML 형식으로 변환하여 data.yaml 파일에 쓰는 예시입니다.

파일 객체와 YAML 파일 처리는 Python에서 데이터를 다룰 때 매우 유용한 기능입니다. 파일 처리를 잘 활용하여 데이터를 저장하고 읽는데 진전을 이끌어내기 바랍니다.