首頁 > 後端開發 > Python教學 > 在Python中存取環境變數的值

在Python中存取環境變數的值

王林
發布: 2023-08-25 22:17:05
轉載
1284 人瀏覽過

在Python中存取環境變數的值

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是一個第三方函式庫,用於存取多個環境中的環境變數。

安裝

要使用 dotenv 模組,我們首先要透過以下指令安裝 python-dotenv

pip install python-dotenv
登入後複製

Pip 是 python 套件管理器。 Pip install python-dotenvdotenv 模組安裝到本機檔案系統。

安裝 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模組

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中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板