[python] python-dotenv를 사용하여 간단한 설정 파일 관리하기

환경 변수를 사용하여 프로그램 설정을 관리하는 것은 중요한 작업입니다. 하지만 많은 설정을 직접 환경 변수로 설정하는 것은 번거롭고, 관리하기 어려울 수 있습니다. 이 문제를 해결하기 위해 python-dotenv 패키지를 사용하여 간단한 설정 파일을 관리할 수 있습니다.

python-dotenv는 .env 파일에 설정 값을 저장하고, 이를 환경 변수로 로딩하는 라이브러리입니다. 이를 통해 설정 정보를 파일에 저장하고 필요한 곳에서 쉽게 로딩할 수 있습니다.

1. python-dotenv 설치하기

먼저, python-dotenv를 설치해야 합니다. 다음 명령을 사용하여 패키지를 설치합니다.

$ pip install python-dotenv

2. .env 파일 생성하기

프로젝트의 루트 디렉토리에 .env 파일을 생성합니다. 이 파일에 설정 값을 저장합니다. 예를 들어, 다음과 같이 .env 파일을 작성해봅시다.

DB_HOST=localhost
DB_USER=root
DB_PASSWORD=123456

3. 설정 값 로딩하기

이제 python 코드에서 설정 값을 로딩할 수 있습니다. 다음과 같이 환경 변수로 로딩할 설정 값을 지정합니다.

import os
from dotenv import load_dotenv

load_dotenv()  # .env 파일 로딩

db_host = os.getenv("DB_HOST")
db_user = os.getenv("DB_USER")
db_password = os.getenv("DB_PASSWORD")

# 설정 값 출력
print(f"DB Host: {db_host}")
print(f"DB User: {db_user}")
print(f"DB Password: {db_password}")

위의 코드에서 load_dotenv() 함수를 호출하여 .env 파일을 로딩합니다. 그리고 os.getenv() 함수를 사용하여 환경 변수로 로딩된 값을 가져옵니다. 이렇게 가져온 설정 값을 이제 원하는대로 사용할 수 있습니다.

4. 설정 값 사용하기

로딩한 설정 값을 사용하여 필요한 작업을 수행합니다. 예를 들어, 다음과 같이 MySQL 데이터베이스에 연결하는 코드를 작성해봅시다.

import mysql.connector

# MySQL 데이터베이스 연결
db = mysql.connector.connect(
    host=db_host,
    user=db_user,
    password=db_password
)

# 데이터베이스 버전 확인
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
result = cursor.fetchone()

print(f"Database Version: {result[0]}")

위의 코드에서는 MySQL 데이터베이스에 연결하기 위해 mysql.connector 라이브러리를 사용합니다. host, user, password 값은 이전에 로딩한 설정 값을 사용하여 연결합니다.

마무리

python-dotenv를 사용하여 설정 값을 파일로 관리하면 환경 변수 설정에 대한 복잡함을 줄일 수 있습니다. 이번 블로그 포스트를 통해 간단한 설정 파일 관리 방법을 알아보았습니다. 더 다양한 기능과 사용 방법을 확인하려면 python-dotenv의 공식 문서를 참고하시기 바랍니다.

참고 문서: