python configparser환경 설정 파일 사용하기

스폰서 링크
python post logo 파이썬
스폰서 링크

python으로 프로그램을 작성할 때 설정파일에서 정보를 읽어 프로그램의 동작을 제어하고 싶을 경우 설정 파일을 관리하는 내부 모듈configparser를 사용합니다. 이 글에서는 기본적인 설정 파일 정보를 읽어들이는 방법을 소개하겠습니다.

스폰서 링크

전제 조건

다음과 같이 testconfig1.py프로그램과 sample_config.ini텍스트 파일을 준비합니다

sample_config.ini

[DEFAULT]
key1 = default-value1
key2 = default-value2
key3 = default-value3
key4 = default-value4
[FRUITS]
key1 = apple
key2 = pineapple
key3 = banana
key4 = strawberry

testconfig1.py

import configparser
import os

basedir = os.path.dirname(os.path.abspath(__file__))
os.chdir(basedir)

myConfig = configparser.ConfigParser()
myConfig.read('sample_config.ini', encoding='utf-8')
print(list(myConfig.items()))

default_section = myConfig['DEFAULT']
print(list(default_section.items()))
print(default_section['key1'])
print(default_section.get('key2'))
print(myConfig['DEFAULT']['key3'])
print(myConfig.get('DEFAULT', 'key4'))

실행 결과

py 또는 python명령으로 C:\dir1\dir2\testconfig1.py를 실행해서 결과를 확인합니다. 위의 소스와 아래 결과의 관계를 색상으로 알기 쉽게 표시했습니다.

C:\>py C:\dir1\dir2\testconfig1.py
[('DEFAULT', <Section: DEFAULT>), ('FRUITS', <Section: FRUITS>)]
[('key1', 'default-value1'), ('key2', 'default-value2'), ('key3', 'default-value2'), ('key4', 'default-value4')]
default-value1
default-value2
default-value3
default-value4

소스의 설명

코드의 상세 설명은 다음과 같습니다.

코드basedir = os.path.dirname(os.path.abspath(__file__))
os.chdir(basedir)
결과testconfig1.py가 저장되어있는 디렉토리를 현재 작업 디렉토리로 변경합니다.
python 프로그램 .py파일 경로로 현재 작업 디렉토리 변경하기를 참조 하십시오

코드print(list(myConfig.items()))
결과[(‘DEFAULT’, <Section: DEFAULT>), (‘FRUITS’, <Section: FRUITS>)]
전체 SECTION정보를 취득해서 list로 표시합니다.

코드print(list(default_section.items()))
결과[(‘key1’, ‘default-value1’), (‘key2’, ‘default-value2’), (‘key3’, ‘default-value2’), (‘key4’, ‘default-value4’)]
<Section: DEFAULT>의 전체 items정보를 취득해서 list로 표시합니다.

코드print(default_section[‘key1’])
결과default-value1
<Section: DEFAULT>의 전체 items정보로부터 키(key1)에 해당하는 값을 취득합니다.

코드print(default_section.get(‘key2’))
결과default-value2
<Section: DEFAULT>의 전체 items정보로부터 키(key2)에 해당하는 값을 취득합니다.

코드print(myConfig[‘DEFAULT’][‘key3’])
결과default-value3
<Section: DEFAULT>의 전체 items정보로부터 키(key3)에 해당하는 값을 취득합니다.

코드print(myConfig[‘DEFAULT’][‘key4’])
결과default-value4
<Section: DEFAULT>의 전체 items정보로부터 키(key4)에 해당하는 값을 취득합니다.
제목과 URL을 복사했습니다