이번 장에서는, python 에서 config.ini 파일 생성 및 가져다 사용하는 방법에 대해 기술한다.
: DB 설정 정보나 쓰레드 설정 주기 등 설정 정보를 따로 config에 빼두면 관리도 쉽고, 여러 곳에서 공통적으로도 사용이 가능해진다.
사용한 설정 파일 포맷 : ini * json, yaml 도 가능
[INI(initialization)]
단순 구조의 텍스트 파일로, key-value 스타일이다.
section을 통해 key-value 들을 그룹화하여 관리 가능하다.
[1. config.ini 생성]
configparser를 사용해 config 파일을 읽고 쓸수 있다.
import configparser
#
config = configparser.ConfigParser()
# section => 'DB_CONFIG'
# key-value => 'dbname'-'postgres'
config['DB_CONFIG'] = {
'dbname': 'postgres',
'host': 'localhost',
'port': '5432',
}
#
with open('./db_config.ini', 'w') as f:
config.write(f)
[2. config.ini 사용]
> os.getcwd() : 현재 작업중인 디렉토리 위치 표시(절대 경로)
> os.sep : /
읽는 방법 ( 2가지 )
2.1 config['section']['key']
2.2 config.get('setction', 'key')
import os
import configparser
#
config = configparser.ConfigParser()
# 파일 위치 관련
print("work dir = ", os.getcwd())
print("seperator = ", os.sep)
print()
# DB 연결 설정 정보 세팅 ( db_config.ini에 정의 )
config.read(os.getcwd() + os.sep + 'db_config.ini', encoding='utf-8')
# get config > case 1
dbname = config['DB_CONFIG']['DBNAME']
host = config['DB_CONFIG']['HOST']
port = config['DB_CONFIG']['PORT']
# get config > case 2
print(config.get('DB_CONFIG', 'DBNAME'))
print("dbname = ", dbname)
print("host = ", host)
print("port = ", port)
[3. 설정정보 출력]
config에 작성된 정보를 출력
# db_config 정보 출력
for section in config.sections():
print("[ Section: %s ]" % section)
for options in config.options(section):
print("> %s:::%s:::%s" % (options,
config.get(section, options),
str(type(options))))
'Computer Science > Python' 카테고리의 다른 글
# python Excel에 쓰기 (0) | 2020.09.13 |
---|---|
# Flask RestAPI - 정규표현식을 이용한 파라미터 체크 (0) | 2020.09.13 |
# Rest API Flask - 기동 및 요청 수신 (0) | 2020.09.13 |