본문 바로가기
개발

파이썬에서 설정(config) 관리하는 패턴들

by Kyutree 2026. 2. 4.

파이썬 개발, 설정 관리에 실패하면 코드 곳곳에서 숨바꼭질하듯 변수를 찾아 헤매는 악몽을 꾸게 될 수 있습니다.

하지만 걱정 마세요.

체계적인 설정 관리 전략만 있다면, 코드 유지보수성은 하늘 높이 치솟고, 협업 효율은 두 배, 세 배로 늘어날 겁니다.

 

설정 관리, 왜 중요할까요?

 

프로그래밍을 하다 보면 여러 코드에서 공통적으로 사용되는 변수들이 생겨나기 마련입니다.

이러한 변수들을 코드 곳곳에 흩뿌려 놓으면, 값을 변경해야 할 때마다 모든 파일을 열어 수정해야 하는 번거로움이 발생합니다.

더 큰 문제는, 수정 과정에서 실수가 발생할 가능성이 매우 높다는 점입니다.

설정 파일을 사용하면 이러한 문제를 깔끔하게 해결할 수 있습니다.

설정 파일을 통해 변수들을 한 곳에서 관리하고, 필요에 따라 쉽게 수정할 수 있어 코드의 유지보수성을 높이고 오류 발생 가능성을 줄일 수 있습니다.

특히 ML/AI 모델이나 시뮬레이터처럼 다양한 옵션을 변경하며 실험해야 하는 경우, 설정 파일의 중요성은 더욱 커집니다.

 

Configparser: 설정 파일 파싱의 표준

 

파이썬에서 설정 파일을 다루는 가장 일반적인 방법은 `configparser` 패키지를 사용하는 것입니다.

`configparser`는 `.ini` 파일과 같은 설정 파일을 읽고 파싱하여 파이썬 코드에서 쉽게 사용할 수 있도록 해줍니다.

`.ini` 파일은 텍스트 기반의 설정 파일 형식으로, 사람이 읽고 쓰기 쉬운 구조를 가지고 있습니다.

`configparser`를 사용하면 설정 파일을 파싱하는 복잡한 과정을 직접 구현할 필요 없이, 간단한 API를 통해 설정 값에 접근할 수 있습니다.

 

Ini 파일 구조와 작성법

 

`.ini` 파일은 섹션(section)과 키-값(key-value) 쌍으로 구성됩니다.

섹션은 대괄호([])로 묶어 표시하며, 각 섹션 아래에 키-값 쌍을 나열합니다.

예를 들어, 다음과 같은 `.ini` 파일이 있을 수 있습니다.

 

```ini

[database]

host = localhost

port = 5432

user = myuser

password = mypassword

 

[api]

key = YOUR_API_KEY

url = https://api.example.com

```

 

각 섹션은 관련된 설정들을 묶어주는 역할을 하며, 키-값 쌍은 실제 설정 값을 정의합니다.

`configparser`를 사용하여 이 파일을 읽으면, 각 섹션과 키에 해당하는 값을 쉽게 가져올 수 있습니다.

 

Configparser 사용 예시

 

`configparser`를 사용하는 기본적인 예시는 다음과 같습니다.

 

```python

import configparser

 

config = configparser.ConfigParser()

config.read('config.ini')

 

# 데이터베이스 설정 읽기

host = config['database']['host']

port = config['database']['port']

 

# API 설정 읽기

api_key = config['api']['key']

api_url = config['api']['url']

 

print(f"Host: {host}, Port: {port}")

print(f"API Key: {api_key}, API URL: {api_url}")

```

 

위 코드는 `config.ini` 파일을 읽어 각 섹션의 값을 변수에 할당하고, 이를 출력하는 간단한 예시입니다.

`config['section']['key']` 형태로 설정 값에 접근할 수 있으며, 필요한 경우 `getint()`, `getboolean()` 등의 메서드를 사용하여 값을 특정 타입으로 변환할 수도 있습니다.

 

설정 파일 경로 관리의 중요성

 

설정 파일을 사용할 때 중요한 점은 파일 경로를 올바르게 관리하는 것입니다.

특히 여러 모듈에서 설정 파일을 공유해야 하는 경우, 파일 경로 설정에 더욱 주의해야 합니다.

`configparser`는 설정 파일의 경로를 설정할 수 있도록 해주기 때문에, 어떤 모듈에서든 설정 파일을 사용할 수 있습니다.

상대 경로 또는 절대 경로를 사용하여 설정 파일의 위치를 지정할 수 있으며, 환경 변수를 활용하여 유연하게 경로를 설정할 수도 있습니다.

 

최근에는 YAML, JSON 등의 다양한 설정 파일 형식이 사용되기도 하지만, `.ini` 파일은 여전히 널리 사용되고 있으며, `configparser`는 파이썬 표준 라이브러리에 포함되어 있어 별도의 설치 없이 바로 사용할 수 있다는 장점이 있습니다.

프로젝트의 규모나 복잡도에 따라 적절한 설정 관리 방식을 선택하는 것이 중요하며, `configparser`는 간단하고 효과적인 설정 관리 솔루션이 될 수 있습니다.

설정 관리는 개발 생산성을 높이고 코드 품질을 향상시키는 데 필수적인 요소입니다.

지금 바로 `configparser`를 사용하여 설정 파일을 관리하고, 더욱 효율적인 파이썬 개발을 경험해보세요.