python-dotenv解析env文件
用法
最简单和最常见的用法是在应用程序启动时调用load_dotenv
,从当前目录或其父目录中的.env
文件或指定的路径加载环境变量,然后调用os.getenv
提供的与环境相关的方法
.env
文件内容写法
ADMIN_HOST = https://uat-rm-gwaaa.cn ADMIN_LOGIN_ROUTE = /api/rm/auth/admin/login ADMIN_LOGIN_DATA = {"phone":"13922221111","password":"6d614954ed51"}
项目中使用
项目中的环境变量写到.env文件里,以k,v的方式读取作为环境变量
安装
pip install -U python-dotenv
基本用法
确保项目目录下 有 .env
文件
--***.env
--***.py
在***.py
中调用
from dotenv import load_dotenv, find_dotenv from pathlib import Path
# 自动搜索.env文件
load_dotenv(verbose=True)
# 等价与上面写法
load_dotenv(find_dotenv(),verbose=True)
# 指定env文件
load_dotenv(find_dotenv(Path.cwd().joinpath('test.env')))
通过load_dotenv
,就可以访问像访问系统环境变量一样使用.env
文件中的变量了,比如通过 os.genenv(key, default=None)
import os print(os.getenv('ADMIN_HOST'))
参数
dotenv_path: 指定.env文件路径,当然如果不传该参数的话(默认为None)也会自定调用dotenv.find_dotenv()去查找文件位置的,但是你的文件名如果不是.env那就必须传递该参数了
override: 当.env 文件中有变量与系统中原来的环境变量有冲突时,按照上面的取值顺序,默认使用系统变量,如果要用.env中的变量覆盖系统变量,可以给load_dotenv() 传递参数override=True。此时只是临时使用了.env 中的变量值
encoding: load_dotenv() 也可以传递encoding 参数指定文件的编码方式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?