在 Python 中訪問環境變數值
Python 中的環境變數是在程式碼外部儲存的配置值,應用程式在執行時使用這些值。這些變數以鍵值對的形式存在,就像 Python 中的字典一樣。可以從配置檔案中設定、更新或刪除這些變數,而無需更改應用程式程式碼。Python 提供了許多作業系統函式來訪問環境變數,而不會影響應用程式的程式碼。在本文中,我們將學習在 Python 中訪問環境變數的方法。
使用 OS 模組
為了與作業系統互動,python 有一個 os 模組,藉助它可以與作業系統互動以及訪問環境變數。os.environ 字典包含所有以鍵值對形式存在的環境變數。
我們可以使用 os.environ 訪問環境變數的路徑以及任何新的環境變數值。
示例
import os # get the value of the PATH environment variable path = os.environ['PATH'] print(path) # set a new environment variable os.environ['MY_VAR'] = 'my value' # get the value of the new environment variable my_var = os.environ['MY_VAR'] print(my_var)
輸出
/opt/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin my value
示例
如果找不到環境變數,則程式碼會引發鍵錯誤。為了避免此類錯誤,我們可以使用 os.environ.get() 函式訪問環境變數,並在找不到鍵時避免鍵錯誤。
import os
# get the value of the MY_VAR environment variable, or return None
my_var = os.environ.get('MY_VAR')
print(my_var)
輸出
None
使用 Dotenv 模組
在行業中,我們在開發、登臺和生產程式碼庫上工作時使用不同的環境。每個環境都有單獨的環境變數檔案。Dotenv 是一個用於訪問多個環境中環境變數的第三方庫。
安裝
要使用 dotenv 模組,我們首先必須透過以下命令安裝 python-dotenv
pip install python-dotenv
Pip 是 python 包管理器。Pip install python-dotenv 將 dotenv 模組安裝到您的本地檔案系統中。
安裝 python-dotenv 模組後,我們必須在專案的根目錄中建立一個 .env 檔案,並在其中以鍵值對的形式建立環境值。
MY_KEY_VAR=my_value
My_KEY_VAR 是 env 變數的鍵,my_value 是與其對應的值。
現在,我們可以使用 dotenv.load_dotenv() 函式在需要的地方載入 Python 程式碼中的 .env 檔案,該函式讀取 .env 檔案並將所有環境變數載入到 os.environ 模組中。
示例
from dotenv import load_dotenv import os # load the environment variables from the .env file load_dotenv() # get the value of the MY_VAR environment variable my_var = os.environ['MY_KEY_VAR'] print(my_var)
輸出
my_value
使用 Argparse 模組
argparse 是 python 中的一個標準庫,用於解析命令列引數。我們可以使用 argparse 庫將環境變數作為命令列引數傳遞給 Python。
演算法
為我們要傳遞的每個環境變數定義一個命令列引數。
然後使用 argparse 返回的 args 物件訪問環境變數。
在執行檔案時傳遞環境變數及其值。
示例
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--my-var')
args = parser.parse_args()
my_var = args.my_var
print(my_var)
輸出
None
在執行上述檔案時,我們需要使用鍵名稱傳遞 env 值。
python script.py --my-var "my value"
當我們在命令列中使用其值 “my value” 傳遞 –my-var 選項時,argparse 模組的 parse_ags() 會解析該選項並獲取該選項的值,即 “my_value”。
使用 Config Parser 模組
Config parser 是一個 python 庫,用於在 python 應用程式中讀取配置檔案。
演算法
要使用 config parser 模組,我們必須
建立一個配置檔案,併為每個部分(如果需要,例如開發、生產和登臺)以鍵值對的形式宣告環境變數。
在 python 檔案中使用 os.getenv() 函式訪問當前環境。
在我們需要訪問環境變數的 python 檔案中,我們可以使用 ConfigParser 模組訪問當前環境的環境變數。
[development]
MY_VAR=my value
[production]
MY_VAR=another value
import configparser
import os
# get the current environment
env = os.getenv('ENVIRONMENT', 'development')
# read the configuration file
config = configparser.ConfigParser()
config.read('config.ini')
# get the value of the MY_VAR environment variable for the current environment
my_var = config.get(env, 'MY_VAR')
print(my_var)
結論
在本文中,我們探討了在 Python 檔案中訪問環境變數的不同方法。我們瞭解瞭如何使用 os 模組訪問環境變數,如何使用 dotenv 庫訪問多個環境中的環境變數,如何使用 argparse 模組將環境變數作為命令列引數傳遞,以及如何使用 ConfigParser 模組從多個環境中訪問當前環境的環境變數。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP