오늘은 Python에서 .env 파일을 활용하는 방법에 대해 알아보겠습니다.
처음 공부할때 아래와같이 DB_CONFIG를 하드코딩하는 경우가 많습니다.
import pymysql
DB_CONFIG = {
'host': 'myhost.com',
'user': 'admin',
'password': 'password123123',
'database': 'mydbdb',
'port': 3306,
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor # 꼭 있어야 row['xxx'] 접근 가능
}
이렇게 되면 보안이나 이식성이 떨어져서
위험하고 유연하지 않죠.
그래서 .env 파일을 사용하는거죠.
패키지설치
먼저 dotenv 를 설치합니다.
pip install dotenv
사용법
.env파일 생성
DB_HOST=myhost.org
DB_PORT=3306
DB_USER=admin
DB_PASSWORD=mypassword
DB_NAME=mydb
DB_CHARSET=utf8mb4
db_config를 생성하여 아래와 같이 활용하면됩니다.
# db_config.py
import pymysql
import os
from dotenv import load_dotenv
load_dotenv() # .env 로딩
DB_CONFIG = {
'host': os.getenv('DB_HOST'),
'user': os.getenv('DB_USER'),
'password': os.getenv('DB_PASSWORD'),
'database': os.getenv('DB_NAME'),
'port': int(os.getenv('DB_PORT', 3306)),
'charset': os.getenv('DB_CHARSET', 'utf8mb4'),
'cursorclass': pymysql.cursors.DictCursor
}
반응형
'웹 개발 > 🐍 Python' 카테고리의 다른 글
Python 타입 힌트 (0) | 2025.07.01 |
---|---|
리스트 컴프리헨션(list comprehension) (1) | 2025.06.30 |
python | fastAPI uvicorn gunicorn 배포하기 (0) | 2025.05.14 |
파이썬 가상환경 경로변경시 activate 안되는 문제 (0) | 2025.05.14 |
스케줄러에 파이썬파일 등록하는법 (0) | 2024.03.15 |