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)
'Programming > Python' 카테고리의 다른 글
골뱅이, decorator를 이용하여 함수 실행시간을 측정하자. (0) | 2020.01.07 |
---|---|
python-virtualenv를 이용해 가상환경을 설정하자 (0) | 2020.01.02 |
상태 진행률을 시각적으로 표현하자 (tqdm) (0) | 2019.11.13 |
conda 기존 환경을 복사하여 새로운 환경을 만들자 (4) | 2019.11.06 |
pip에서 ImportError: cannot import name 'main' 를 해결하자 (0) | 2019.09.20 |