首先看一下github上專案的介紹:
reads the key,value pair from .env and adds them to environment variable.
大概意思就是在我們做專案時,我們可以把所有用到的環境變數寫到.env檔案裡,然後以k,v的方式讀取作為環境變數。
最簡單和最常見的用法是在應用程式啟動時呼叫load_dotenv
,從當前目錄或其父目錄中的.env
檔案或指定的路徑載入環境變數,然後你可以呼叫os.getenv
提供的與環境相關的方法。
.env
檔案內容差不多是這樣的:
# a comment that will be ignored.
redis_address=localhost:6379
meaning_of_life=42
multiline_var="hello\nworld"
你可以使用單詞export
作為每行的字首,這將會使python-dotenv
忽略該變數,但是你可以使用source
命令執行該檔案。
python-dotenv
可以用來修改posix
系統的環境變數.
變數的值是下面列表中定義的第乙個值:
確保引用其他變數時用大括號{}
包圍,就像$
,因為像$home
這樣的字串不會被認為是變數的引用。
config_path=$/.config/foo
domain=example.org
email=admin@$
debug=$
安裝pip install -u python-dotenv基本用法
確保你的專案目錄下 有.env
檔案
.
├── .env
└── settings.py
然後你可以在settings.py
中新增以下**:
# settings.py
from dotenv import load_dotenv, find_dotenv
from pathlib import path # python 3.6+ only
# 一、自動搜尋 .env 檔案
load_dotenv(verbose=
true
)# 二、與上面方式等價
load_dotenv(find_dotenv(
), verbose=
true
)# 三、或者指定 .env 檔案位置
env_path = path(
'.')
/'.env'
load_dotenv(dotenv_path=env_path, verbose=
true
)
通過load_dotenv
,你就可以訪問像訪問系統環境變數一樣使用.env
檔案中的變數了,比如通過os.genenv(key, default=none)
# settings.py
import os
secret_key = os.getenv(
"email"
)database_password = os.getenv(
"database_password"
)
引數
從流物件載入
從可讀的流物件中載入,記得把讀指標調到要開始讀取的位置。
>>
>
from io import stringio # python2: from stringio import stringio
>>
>
from dotenv import dotenv_values
>>
> filelike = stringio(
'spam=eggs\n'
)>>
> filelike.seek(0)
>>
> parsed = dotenv_values(stream=filelike)
>>
> parsed[
'spam'
]'eggs'
注意:此時返回值是個字典
如果你在django中使用,請將以上**新增到wsgi.py
或者manage.py
.
載入擴充套件
%load_ext dotenv
載入 env檔案
%dotenv
或者指定乙個env檔案
%dotenv relative/or/absolute/path/to/.env
其他引數
%dotenv -o
%dotenv -v
與 fabric 配合使用 this的詳細用法!!
this用法如下 1.使用this來顯示地標識欄位的所有者 有點官方味道,看下例子就清楚了 class student 2.使用this來傳遞當前正在執行的物件的乙個引用 class student class help newstudent方法呼叫了help類的insert靜態方法,需要向inse...
this的詳細用法!!
this用法如下 1.使用this來顯示地標識欄位的所有者 有點官方味道,看下例子就清楚了 class student 2.使用this來傳遞當前正在執行的物件的乙個引用 class student class help newstudent方法呼叫了help類的insert靜態方法,需要向inse...
詳細解讀mysql 詳細解讀MySQL中的許可權
一 前言 很多文章中會說,資料庫的許可權按最小許可權為原則,這句話本身沒有錯,但是卻是一句空話。因為最小許可權,這個東西太抽象,很多時候你並弄不清楚具體他需要哪些許可權。現在很多mysql用著root賬戶在操作,並不是大家不知道用root許可權太大不安全,而是很多人並不知道該給予什麼樣的許可權既安全...