Python 中的 dotenv

Shivam Arora 2023年10月10日
Python 中的 dotenv

本文将解释 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

相关文章 - Python Environment