python中環境變量的使用


前言

之前就經常用,今天來湊個篇數.
在開發的過程中,我們經常會將代碼中某些可能更改的,比如redis地址,數據庫地址,限流閾值等參數寫活來提高靈活性,
傳統的方式可能是寫在配置文件中,比如 xml yml 等文件中解析.
但這種文件的方式配合 Docker 使用較為麻煩,
於是,將配置寫入環境變量的方式逐漸流行起來,這種方式更適合 Docker 使用
本文介紹如何在Python中實現環境變量的插入與讀取

正文

插入環境變量

.env文件

當然,在讀取之前需要插入環境變量,這一步可以由 Docker 解決,但是在開發中我們一般不會使用 Docker 打包后再測試
一般的,我們會在項目的根目錄新建一個 .env 文件,里面保存在項目啟動前需要寫入的環境變量,我們在測試時可先插入環境變量來完成配置寫入
.env 文件大致如下

其實就是每行為一個要插入的變量, 結構為 k=v
注意環境變量寫入的都是字符串,不存在別的類型
同時還要注意避免與系統自帶的環境變量沖突,比如系統變量已經有了 path 而你自定義也叫 path 可能會因為覆蓋而出現混亂
所以在設置環境變量時一般會在最前面加上該項目代號,比如上圖項目叫 CHAOS
環境變量k一般全部大寫

寫入環境變量

使用os與sys模塊可以實現單條導入,但是一個文件需要自己手動實現,而有其他模塊可以幫助我們解決
GitHub
pip install python-dotenv
我們一般在項目開始讀取配置文件,所以測試時在讀取之前寫入一遍
比如在啟動文件 main.py 中調用 config.py 讀取配置, 那么在 config.py 開頭先讀取 .env 文件並用 dotenv 模塊寫入

以上代碼可導入 config.py 上一級目錄的 .env 文件寫入環境變量(實際目錄結構的更改影響此代碼)

讀取環境變量

環境變量的讀取直接使用 os 模塊即可


免責聲明!

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



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