조이 생각

반응형

 

개발하다보면 개발 환경에 따라서 경로나 설정 값들을 바꿔줘야 하는 경우가 있다.

그때마다 코드를 수정하지 않고 외부 파일에 원하는 설정 값들을 입력하고

해당 파일을 읽어들여 환경에 맞게 프로그램이 돌아가도록 사용하면 훨씬 편리하다.

 

파이썬에서는 configparser 클래스를 이용하여 외부 설정파일을 읽어서 파싱하여 사용할 수 있다.

(▼python 공식 홈페이지 참고 자료▼)

 

configparser — Configuration file parser — Python 3.10.0 documentation

configparser — Configuration file parser Source code: Lib/configparser.py This module provides the ConfigParser class which implements a basic configuration language which provides a structure similar to what’s found in Microsoft Windows INI files. You

docs.python.org

 

1. ini 파일 생성

configparser를 사용해서 설정파일을 파싱하려면 ini 확장자로된 파일을 만들어줘야한다.

 

원하는 위치에 우클릭 > New > File 

파일명.ini

 

2. 설정 값 작성

configparser에서는 파싱할 때, 섹션이라는 개념을 사용한다.

아래는 예시로 작성한 것인데 여기서 섹션은 [PATH][ETC] 이다.

 

3. ini 파일 읽기

해당 클래스를 import 해주고 객체를 만들어서 read 함수로 ini 파일을 읽는다.

import configparser as parser

# 프로퍼티 파일 읽기
properties = parser.ConfigParser()
properties.read('./config.ini')

 

그리고 섹션 값을 먼저 읽어와도 되고

# 섹션 값 읽기
path_config = properties['PATH']
etc_config = properties['ETC']

# PATH 섹션 값 읽기
path = path_config['localPath']
if env == 'server':  # 서버 환경인 경우 path에 serverPath 값 셋팅
    path = path_config['serverPath']

# ETC 섹션 값 읽기
user = etc_config['user']
location = etc_config['location']

 

섹션 + 하위 값을 한번에 읽어도 된다.

# 한번에 읽는 방법
print('==== 한번에 읽기 결과 ====')
print('- user ==> ', properties['ETC']['user'])
print('- location ==> ', properties['ETC']['location'])
print('- localPath ==> ', properties['PATH']['localPath'])
print('- serverPath ==> ', properties['PATH']['serverPath'])

 

아래는 전체 코드이다.

 

출력 결과는 다음과 값다.

 

 

도움이 되셨다면, 공감(하트) 클릭해주시면 감사하겠습니다. ^^

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band
loading