Programming/Python

설정 값 저장을 위해 ConfigParser를 이용 해 보자.

매직블럭 2019. 12. 2. 16:35

python을 사용하다 보면 다양한 설정값을 사용하는 경우가 있다.

이럴 때마다 매번 값을 코드에 써주자니 귀찮고.. 설정 값 저장 해두고 불러쓰면 좋잖아??

 

그래서 사용 할 모듈이 python 내장 모듈 중 하나인 configparser!!

언제나 그렇듯 다음번 사용을 위해 방법 정리.

 


# -*- coding:utf-8 -*-
import configparser

# configParser 생성
conf = configparser.ConfigParser()

# 기존 config 파일이 있을 경우
conf.read("./config.ini")
# config 파일은 아래와 같은 형태로 저장 됨.
# [section1]
# sec1_option1 = option1
# sec1_option2 = option2
#
# [section2]
# sec2_option1 = option1
# sec2_option2 = option2


##### parser read #####
# section list 읽기
section_list = conf.sections()

# section 내 option list 읽기
option_list = conf.options("section_name")

# 특정 section 존재 확인
conf.has_section("section_name")

# section 내 option 과 값 list 읽기
opt_val_list = conf.items("section_name")

# 직접 section / variable 값 읽기
train_path = conf["section_name"]["option_name"]
# 또는
train_path = conf.get("section_name", "option_name")
# 자료형에 따라 getint, getfloat, getboolean 사용하면 읽기와 형변환 같이 함


##### parser write #####
# section 생성
conf.add_section("new_section_name")

# section 삭제
conf.remove_section("remove_section_name")

# option 추가
conf.set("section_name", "option_name", value)

# option 삭제
conf.remove_option("section_name", "option_name")

# parser에 내용을 추가 해 중 뒤에는 반드시 write 해줘야 함
with open(conf_file_path, "w") as fp:
    conf.write(fp)