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