免责声明

本站所有资源、内容均为转载整合,仅供学习与研究使用

本站涉及的收费项目,仅为资源整理、收集及维护成本,并非软件或内容本身的费用

请在学习研究后自觉删除相关内容,请勿用于商业用途或非法传播,因未及时删除或违规使用所产生的一切法律责任与后果,由使用者自行承担。

如需用于其他用途,请购买正版授权,支持原作者

若本站内容侵犯了您的合法权益,请通过邮箱 admin@zx-shop.com.cn 联系站长,我们将在第一时间核实并处理删除,感谢您的理解与配合!

dotenv的使用

python-dotenv 是一个用来从 .env 文件中加载环境变量到 Python 项目中的工具,能让你避免把敏感信息(如数据库密码、API 密钥)直接写在代码里,提升项目的安全性和配置灵活性。

一、安装 python-dotenv

首先需要通过 pip 安装这个库:

pip install python-dotenv

二、核心使用步骤

1. 创建 .env 文件

在你的项目根目录下新建一个名为 .env 的文件,按 键=值 的格式写入配置项(注意等号前后不要加空格):

# .env 文件内容示例
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=123456
API_KEY=abc123xyz789
DEBUG=True

重要:一定要把 .env 文件加入 .gitignore,避免提交到代码仓库泄露敏感信息!

2. 在 Python 代码中加载并使用环境变量

有两种常用加载方式,推荐第二种更简洁的方式:

方式 1:基础加载(手动获取)

import os
from dotenv import load_dotenv

# 加载 .env 文件中的环境变量(默认读取项目根目录的 .env)
load_dotenv()  

# 如果 .env 文件不在根目录,可指定路径:
# load_dotenv(dotenv_path="./config/.env")

# 通过 os.getenv() 获取环境变量
db_host = os.getenv("DB_HOST")
db_port = os.getenv("DB_PORT")
db_password = os.getenv("DB_PASSWORD")
debug_mode = os.getenv("DEBUG", "False")  # 第二个参数是默认值(变量不存在时使用)

# 打印验证
print(f"数据库地址:{db_host}:{db_port}")
print(f"调试模式:{debug_mode}")

方式 2:自动加载(结合 python-dotenv 便捷功能) 如果你的项目是 Flask/Django 等框架,或想更简化,也可以让 load_dotenv 自动注入到环境变量,直接通过 os.environ 获取:

import os
from dotenv import load_dotenv

# load_dotenv() 执行后,环境变量会被注入到 os.environ 中
load_dotenv()

# 使用 os.environ 获取(注意:变量不存在时会抛 KeyError,建议用 os.getenv 更安全)
api_key = os.environ.get("API_KEY")  # 等价于 os.getenv("API_KEY")
print(f"API 密钥:{api_key}")

3. 类型转换

.env 文件中的值默认是字符串,如需转为布尔/数字类型,需要手动处理:

import os
from dotenv import load_dotenv

load_dotenv()

# 转为整数
db_port = int(os.getenv("DB_PORT"))
# 转为布尔值(注意:字符串 "True"/"False" 转布尔需要判断,直接 bool() 会返回 True)
debug = os.getenv("DEBUG").lower() == "true"

print(type(db_port), db_port)  # <class 'int'> 3306
print(type(debug), debug)      # <class 'bool'> True

三、进阶用法

  1. 只加载存在的 .env 文件:避免文件不存在时报错

    load_dotenv(override=False, verbose=False)  # override=False 不覆盖系统已有的环境变量
  2. 加载多个 .env 文件:比如区分开发/生产环境

    load_dotenv(".env.dev")  # 加载开发环境配置
    load_dotenv(".env.prod", override=True)  # 加载生产环境配置并覆盖原有变量

总结

  1. python-dotenv 的核心作用是从 .env 文件加载环境变量,分离配置和代码,保护敏感信息;

  2. 核心流程:安装 → 创建 .env 配置文件 → 用 load_dotenv() 加载 → 通过 os.getenv() 获取变量;

  3. 注意事项:.env 文件要加入 .gitignore,变量值默认是字符串,需手动做类型转换。

请登录后发表评论

    没有回复内容