python-dotenv解析env文件


用法

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM