Python dotenv 库 load_dotenv() 使用指南
在 Python 项目开发中,管理数据库密码、API 密钥等敏感配置是常见痛点。硬编码不仅容易泄露到代码仓库,还导致本地开发、测试和生产环境切换困难。
load_dotenv() 来自 python-dotenv 库,是一个轻量级工具函数,用于从 .env 文件中读取键值对并注入操作系统的环境变量。它让敏感配置与代码彻底分离,是现代 Python 项目的标准实践。
核心优势
- 避免敏感信息泄露:配合
.gitignore防止误提交 - 多环境无缝切换:通过不同配置文件管理 dev/staging/prod
- 团队协作零冲突:配置独立于代码版本控制
- 部署更安全:生产环境变量由运维或云平台管理
快速上手
1. 安装依赖
pip install python-dotenv
2. 创建 .env 文件
在项目根目录新建 .env 文件,遵循全大写加下划线的命名规范。若值包含空格需加引号。
# .env
DEBUG=True
DATABASE_URL=postgresql://user:pass@localhost:5432/mydb
API_KEY=sk-xxxxxx-secret-key
SECRET_KEY=your-django-secret-key-here
PORT=8000
3. 加载并使用
在入口脚本(如 main.py)的最开始处调用加载函数。注意环境变量获取后永远是字符串类型,需根据业务逻辑转换。
from dotenv import load_dotenv
import os
# 加载当前目录下的.env 文件
load_dotenv()
# 安全获取变量,推荐配合默认值使用
debug_mode = os.getenv("DEBUG", "False") == "True"
api_key = os.getenv("API_KEY")
port = int(os.getenv("PORT", 5000))
print(f"服务运行在端口:{port}")
进阶用法
指定自定义路径
如果 文件不在项目根目录,可以显式指定路径:

