본문 바로가기
Study/Python

yaml 파일을 사용해서 코드를 작성해보자

by Zeromk2 2020. 12. 25.
728x90

전 주요 항목들은 yaml 파일로 관리해서 사용하는 편입니다.

(별다른 이유는 없습니다. 오래전부터 사용해왔던 거라 버릇과도 같네요)

 

yaml 파일의 특성은 key와 value로 저장되는 형태이고 그 형태내에서도 하위 계층을 구분할 수 있게 되는 부분입니다.

job: QA
 year: 10
 language: python
position: Engineer
company: good_company

info.yaml 이라는 가상의 파일이라고 하고 위의 예시를 보시면 JSON이랑 비슷한 구조라는 것을 아실 수 있습니다.

그리고 job 밑으로 들여쓰기가 된 것을 보실 수 있는데 이럴 경우 job의 하위 계층에 속하게 됩니다.

 

이런 yaml파일은 python으로 쉽게 사용할 수 있습니다.

pip install PyYAML

일단 위와 같이 패키지를 설치해주시고 

 

import yaml

하시면 준비는 끝납니다.

 

with open('info.yaml') as p:
    doc = yaml.load(p, Loader=yaml.FullLoader)

그리고 위와 같이 작성하시면 info.yaml 파일에 있는 정보들을 모두 doc에 저장하게 됩니다.

그리고 값을 가져와야 할 때는 

data = doc['job']['year']
data = doc['position']

이런식으로 변수에 넣어서 사용하실 수 있습니다.

 

그리고  파일에 값을 입력하는 것도 가능합니다.

일단 위에 처럼 doc에 yaml 파일의 데이터를 모두 넣어놨다는 가정하에

doc['job']['year'] = 10
doc['position'] = 'QA Analyst'
with open('info.yaml', 'w') as p:
    yaml.dump(doc, p)

라고 입력하시면 값이 들어가게 됩니다.

댓글