使用 python-dotenv 可安全管理 Python 项目中的环境变量。通过 pip install python-dotenv 安装后,在项目根目录创建 .env 文件(如 DATABASE_URL=...),并将其加入 .gitignore 防止泄露。在代码中导入 load_dotenv() 并调用以加载变量,再用 os.getenv() 获取值,注意非字符串类型需手动转换。支持指定文件路径、覆盖现有变量等进阶用法,建议在开发阶段使用,生产环境优先采用系统级配置。合理使用可提升项目安全性与可维护性。

在 Python 项目中,使用 python-dotenv 是管理环境变量的常用做法,尤其适合将敏感信息(如 API 密钥、数据库密码)从代码中分离出来。通过读取本地的 .env 文件,可以避免将配置硬编码或暴露到版本控制中。
安装 python-dotenv
首先需要安装 python-dotenv 包:
pip install python-dotenv
安装完成后,就可以在项目中加载和使用环境变量。
创建 .env 文件
在项目根目录下创建一个名为 .env 的文件,内容格式为 KEY=VALUE,例如:
立即学习“Python免费学习笔记(深入)”;
当用户提及 GitHub URL,或要求分析、审查、探索或理解任意 GitHub 项目、仓库或代码库时,请使用此技能。触发条件包括以下短语:“分析这个项目”、“看看这个仓库”、“analyze this repo”、“what does this project do”,或消息中包含任何 github.com URL。
DATABASE_URL=postgresql://user:pass@localhost/mydb API_KEY=your_secret_api_key DEBUG=True SECRET_KEY=mysecretkey123
注意:.env 文件应添加到 .gitignore 中,防止提交到代码仓库。
在代码中加载环境变量
使用 load_dotenv() 函数读取并加载环境变量:
from dotenv import load_dotenv
import os
<h1>加载 .env 文件中的变量</h1><p>load_dotenv()</p><h1>获取变量值</h1><p>database_url = os.getenv("DATABASE_URL")
api_key = os.getenv("API_KEY")
debug = os.getenv("DEBUG") == "True" # 注意:字符串转布尔需手动处理os.getenv() 返回字符串或 None,如果变量不存在。对于非字符串类型(如布尔、数字),需要额外转换。
进阶用法与建议
- 指定路径:
load_dotenv(".env.dev")可加载不同环境的配置文件。 - 覆盖设置:
load_dotenv(override=True)允许覆盖已存在的环境变量。 - 与 settings 集成:可在配置模块中统一加载,例如在 Django 或 Flask 项目启动时调用一次
load_dotenv()。 - 生产环境提醒:部署时通常使用系统级环境变量,无需依赖
.env文件,但开发阶段非常实用。
基本上就这些。合理使用 python-dotenv 能提升项目安全性与可维护性,让配置管理更清晰。不复杂但容易忽略细节,比如类型转换和文件路径问题。

















