Python 中的 dotenv
Shivam Arora
2023年10月10日
本文将解释 Python 中 dotenv
的含义和用法。
.env
文件是一个单独的文件,其中包含应用程序所需的所有环境变量的上述键值。该文件存储在本地而不保存到源代码管理中,因此你不会将潜在的敏感信息置于风险之中。
dotenv
用于从 .env
文件中读取键值对并将其添加到环境变量中。我们可以使用它的 12-factor 原则在开发和生产阶段使用它来管理应用程序设置。
环境变量是使用 env
模块在 Python 项目目录内的类 UNIX 文件中建立的。
要开始使用 .env
文件,我们首先需要安装 dotenv
库。
pip install python-dotenv
使用 dotenv
,我们的应用程序可以从 .env
文件加载配置(例如,在开发期间),同时保留基于环境的配置。
请参考以下示例。
from dotenv import load_dotenv
config = load_dotenv(".env")
在上面的例子中,我们使用了 load_dotenv()
函数。dotenv_values()
函数的工作方式与 load_dotenv
类似。它返回一个字典,其中包含从环境中解析的值。
例如,
from dotenv import dotenv_values
config = dotenv_values(".env")
我们还可以从网络而不是文件系统加载环境变量。为此,我们可以使用 io
包中的 StringIO()
函数来创建一个流对象。
请参考以下代码。
from io import StringIO
from dotenv import load_dotenv
config = StringIO("USER=abc\nEMAIL=abc@example.org")
load_dotenv(stream=config)
我们还可以使用 CLI 接口 dotenv
来操作 .env
文件,而无需手动打开它。
请参考下面的命令。
pip install "python-dotenv[cli]"
dotenv set USER abc
dotenv set EMAIL abc@example.org
dotenv run -- python abc.py