Python Config 파일 읽고 쓰는 ConfigObj 패키지 알아보기
오늘은 Python으로 설정 파일을 읽고 쓰게 할 수 있는 ConfigObj 패키지에 대하여 알아보려 합니다.
개요
ini 파일로 이루어진 설정 파일을 읽고 쓸 수 있으며, 파이썬의 배열 인덱스처럼 사용할 수 있습니다.
ConfigObj 설치
우선 virtualenv로 파이썬 환경을 분리해줍니다.
pip3 install virtualenv
virtualenv -mvenv env
env라는 이름의 가상 환경을 생성합니다.
source env/bin/activate
가상환경을 폴더에서 활성화합니다.
pip install configobj
pip로 ConfigObj를 설치합니다.
설정 파일 만들기
from configobj import ConfigObj
설정 파일을 파싱하거나 쓰는 역할을 하는 ConfigObj를 가져옵니다.
config = ConfigObj()
config.filename = "config.ini"
ConfigObj 객체를 만들고, 파일 이름을 정의합니다.
config['name'] = "name"
config['nickname'] = "nick_name"
config['USER'] = {}
config['USER']['id'] = "real_id"
config['USER']['email'] = "example@example.com"
config['visitor'] = {}
config['visitor']['today'] = ["1", "2", "3", "4", "5", "6", "7"]
인덱스 접근하는 방식처럼 설정 파일을 구성할 수 있습니다.
blog = {
'title': "hello,world",
'body': "print(hello,world)",
'tag': {
'hello': "world"
}
}
config['blog'] = blog
딕셔너리로 설정 파일을 구성할 수 있습니다.
config.write()
지금까지 기록한 ConfigObj를 설정 파일로 씁니다.
name = name
nickname = nick_name
[USER]
id = real_id
email = example@example.com
[visitor]
today = 1, 2, 3, 4, 5, 6, 7
[blog]
title = "hello, world!"
body = "print(hello,world)"
[[tag]]
hello = world
위와 같이 파일이 작성됩니다.
설정 파일 읽기
from configobj import ConfigObj
설정 파일을 파싱하거나 쓰는 역할을 하는 ConfigObj를 가져옵니다.
config = ConfigObj("config.ini")
ConfigObj 객체의 인자로 읽을 파일 이름을 작성합니다.
name = config['name']
print(name)
nick = config['nickname']
print(nick)
user = config['USER']
user_id = user['id']
user_email = user['email']
print(user)
title = config['blog']['title']
print(title)
body = config['blog']['body']
print(body)
print(config['blog']['tag'])
print(config['visitor'])
마찬가지로 설정 파일을 읽을 때에도 인덱스 접근하는 방식처럼 설정 파일을 구성할 수 있습니다.
Written on April 15, 2019