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