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가 저장되어있는 디렉토리를 현재 작업 디렉토리로 변경합니다. |
코드 | print(list(myConfig.items())) |
결과 | [(‘DEFAULT’, <Section: DEFAULT>), (‘FRUITS’, <Section: FRUITS>)] |
코드 | print(list(default_section.items())) |
결과 | [(‘key1’, ‘default-value1’), (‘key2’, ‘default-value2’), (‘key3’, ‘default-value2’), (‘key4’, ‘default-value4’)] |
코드 | print(default_section[‘key1’]) |
결과 | default-value1 |
코드 | print(default_section.get(‘key2’)) |
결과 | default-value2 |
코드 | print(myConfig[‘DEFAULT’][‘key3’]) |
결과 | default-value3 |
코드 | print(myConfig[‘DEFAULT’][‘key4’]) |
결과 | default-value4 |