개발하다보면 개발 환경에 따라서 경로나 설정 값들을 바꿔줘야 하는 경우가 있다.
그때마다 코드를 수정하지 않고 외부 파일에 원하는 설정 값들을 입력하고
해당 파일을 읽어들여 환경에 맞게 프로그램이 돌아가도록 사용하면 훨씬 편리하다.
파이썬에서는 configparser 클래스를 이용하여 외부 설정파일을 읽어서 파싱하여 사용할 수 있다.
(▼python 공식 홈페이지 참고 자료▼)
configparser를 사용해서 설정파일을 파싱하려면 ini 확장자로된 파일을 만들어줘야한다.
원하는 위치에 우클릭 > New > File
파일명.ini
configparser에서는 파싱할 때, 섹션이라는 개념을 사용한다.
아래는 예시로 작성한 것인데 여기서 섹션은 [PATH] 와 [ETC] 이다.
해당 클래스를 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'])
아래는 전체 코드이다.
출력 결과는 다음과 값다.
도움이 되셨다면, 공감(하트) 클릭해주시면 감사하겠습니다. ^^
python prophet, fbprophet 설치방법 ( + importing plotly failed) (3) | 2022.03.04 |
---|---|
python 리스트 정렬, 정렬된 리스트 인덱스 가져오기(오름/내림차순) (0) | 2022.02.23 |
[pip install] pip3 설치 에러 memory error (2) | 2021.07.13 |
아나콘다 프롬프트 실행 위치 변경 방법 ( C드라이브에서 D드라이브로 변경) (6) | 2021.06.04 |
Terminal (cmd) 에서 python 진입 UnicodeDecodeError 에러 해결 (0) | 2020.12.16 |