Study/Python
[Python] API키, URL 등 주요 변수 관리하는 방법 (JSON, YAML)
Super-Son
2025. 3. 28. 10:41
파이썬으로 프로젝트를 진행하다 보면 중요한 정보들을 코드에 직접 하드코딩하지 않고 별도의 파일에서 관리할 필요가 있습니다. 특히 API 키, URL 리스트와 같은 주요 정보는 보안 및 유지보수 관점에서 별도로 관리하는 것이 좋습니다. 이번 글에서는 Python에서 JSON과 YAML를 활용하여 주요 변수를 따로 관리하는 방법과 장단점, 그리고 주의할 점을 정리해 보겠습니다.
1. 주요 변수를 별도로 관리하는 방법
주요 변수들을 다음과 같이 JSON, YMAL 파일에 저장할 수 있습니다.
JSON
config.json
// config.json
{
"API_KEY": "your_api_key",
"URL_LIST": ["url1", "url2", "url3"]
}
python에서 읽기
import json
with open('config.json', 'r', encoding='utf-8') as file:
config = json.load(file)
API_KEY = config["API_KEY"]
URL_LIST = config["URL_LIST"]
YAML
config.ymal
API_KEY: your_api_key
URL_LIST:
- url1
- url2
- url3
python에서 읽기
import yaml
with open('config.yaml', 'r', encoding='utf-8') as file:
config = yaml.safe_load(file)
API_KEY = config["API_KEY"]
URL_LIST = config["URL_LIST"]
2. 주요 변수를 따로 관리하면 좋은 점
- 보안 강화: 민감한 정보가 코드에 직접 노출되지 않아 보안성이 높아집니다.
- 유지보수 용이성: 주요 정보가 한 곳에 모여 있어 관리가 쉬워지고, 값의 변경이 필요할 때 코드 수정 없이 파일만 변경하면 됩니다.
- 코드의 명확성 증가: 코드 내 하드코딩된 정보가 줄어들어 가독성과 관리 효율이 높아집니다.
3. 주요 변수를 관리할 때 주의할 점
- 보안 관리: 버전 관리 시스템에 올라가지 않도록 주의 (예시: Git - .gitignore)
- 인코딩 문제: 한글이나 특수문자를 다룰 때는 UTF-8 인코딩 사용
주요 정보를 별도의 파일로 관리하면 보안성과 유지보수 측면에서 큰 장점이 있습니다. 프로젝트 안에서 여러 코드에 사용되는 변수를 관리하길 원하시는 분들에게 도움이 되었으면 좋겠습니다. 오늘도 읽어주셔서 감사합니다.