用法
最簡單和最常見的用法是在應用程序啟動時調用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 參數指定文件的編碼方式。