Python 使用 dotenv 管理环境变量文件

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

python 使用 dotenv 管理环境变量文件

在 Python 项目中,使用 python-dotenv 是管理环境变量的常用做法,尤其适合将敏感信息(如 API 密钥、数据库密码)从代码中分离出来。通过读取本地的 .env 文件,可以避免将配置硬编码或暴露到版本控制中。

安装 python-dotenv

首先需要安装 python-dotenv 包:

pip install python-dotenv
登录后复制

安装完成后,就可以在项目中加载和使用环境变量。

创建 .env 文件

在项目根目录下创建一个名为 .env 的文件,内容格式为 KEY=VALUE,例如:

立即学习Python免费学习笔记(深入)”;

DATABASE_URL=postgresql://user:pass@localhost/mydb
API_KEY=your_secret_api_key
DEBUG=True
SECRET_KEY=mysecretkey123
登录后复制

注意:.env 文件应添加到 .gitignore 中,防止提交到代码仓库。

Python之模块学习 中文WORD版
Python之模块学习 中文WORD版

本文档主要讲述的是Python之模块学习;python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

Python之模块学习 中文WORD版 2
查看详情 Python之模块学习 中文WORD版

在代码中加载环境变量

使用 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 能提升项目安全性与可维护性,让配置管理更清晰。不复杂但容易忽略细节,比如类型转换和文件路径问题。

以上就是Python 使用 dotenv 管理环境变量文件的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号