Python 中的環境變數是儲存在程式碼外部的配置值,由應用程式在執行時使用。這些變數以鍵值對的形式存在,就像 Python 中的字典一樣。可以在設定檔中設定、更新或刪除這些變量,而無需更改應用程式程式碼。 Python 提供了許多作業系統函數來存取環境變數而不影響應用程式的程式碼。在本文中,我們將學習如何在 Python 中存取環境變數。
為了與作業系統交互,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 模組,我們首先要透過以下指令安裝 python-dotenv
pip install python-dotenv
Pip 是 python 套件管理器。 Pip install python-dotenv 將 dotenv 模組安裝到本機檔案系統。
安裝 python-dotenv 模組後,我們必須在專案的根目錄中建立一個 .env 文件,並在其中建立環境值作為鍵值對。
MY_KEY_VAR=my_value
My_KEY_VAR 是環境變數的鍵,my_value 是對應的值。
現在,我們可以在需要的地方使用dotenv.load_dotenv() 函數載入.env 檔案到我們的Python 程式碼中,該函數會讀取.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是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
執行上述文件時,我們需要透過鍵名傳遞環境值。
python script.py --my-var "my value"
當我們在命令列中傳遞–my-var選項及其值「my value」時,argparse模組的parse_args()方法會解析該選項並取得其值,即“my_value”。
設定解析器是一個Python函式庫,用於讀取Python應用程式中的設定檔。
要使用組態解析器模組,我們必須
建立一個設定文件,並根據需要以鍵值對的形式為每個部分(如開發、生產和登台)聲明環境變數。
使用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 模組從多個環境存取目前環境的環境變數。
以上是在Python中存取環境變數的值的詳細內容。更多資訊請關注PHP中文網其他相關文章!