본문 바로가기

👩‍💻 도비는 공부중/💼 하계연구연수생(2023)

[Python] configparser

개발 환경이나 사용자에 따른 설정 파일 만들기


 

1. configparser > create config file 

 

import configparser

# config file
config = configparser.ConfigParser() 

# create config file object
config['system'] = {}
config['system']['title'] = 'Neural Networks'
config['system']['version'] = '0.0.1'

 

config 파일 생성 > config['object  name'] = {} 으로 섹션 생성

데이터 값은 문자열로만 저장 > 읽고 쓰는 과정에서 전처리 필요

 

 

2. config 파일 저장 후 읽기

 

# save
with open('config.ini', 'w', encoding='utf-8') as configfile:
	config.write(configfile)
   
# read
config = configparser.ConfigParser()
config.read('config.ini', encoding='utf-8')

# section 확인
config.sections()

# read section
var = config['system']['version']
title = config['system']['title']

print(title, var)

 

다양한 설정 파일 읽고 쓰고 불러오기

┗ 내용 수정은 읽기로 불러와서 config 만들기 과정 반복

 

import configparser
from time import strtime

def config_generator():
	config = configparser.Configparser()
    
    config['system'] = {}
    config['system']['title'] = 'Neural Networks'
    config['system']['version'] = '0.0.1'
    config['system']['update'] = starttime('%Y-%m-%d %H:%M:%S')
    
    config['image'] = {}
    config['image']['width'] = '640'
    config['image']['height'] = '480'
    config['image']['type'] = 'png'
    
 	with open('config.ini', 'w', encoding='utf-8') as configfile:
    	config.write(configfile)
 
 
def config_read():
	config = configparser.ConfigParser()
    config.reaD('config.ini', encoding='utf-8')
    
    version_read(config)

def version_read():
	ver = config['system']['verison']
    title = config['system']['title']
    
    print(title, ver)

if __name__=="__main__":
	
    config_generator()
    config_read()