如何在Python 中訪問環境變數| D棧
文章推薦指數: 80 %
環境變數. 環境變數是為Python 程式外部分配值的變數。
· Python 中的環境變數. 設定環境變數的機制取決於作業系統。
· 讀取環境變數. 通過在 os.environ ...
Python貼士
Python中的條件賦值運算子
使用Python播放Mp3檔案
使用Python檢查作業系統
在Python中從字串中刪除逗號
Python中如何將位元組bytes轉換為整數int
如何將整型int轉換為位元組bytes
如何在Python中獲取和增加最大遞迴深度
如何建立和啟用Python虛擬執行環境virtualenv
reportthisad
貼士文章
Python貼士
如何在Python中訪問環境變數
環境變數
Python中的環境變數
讀取環境變數
寫環境變數
環境變數
環境變數是為Python程式外部分配值的變數。
開發人員通常在呼叫Python可執行檔案之前在命令列上進行設定。
然後,作業系統使Python程式可從內部訪問這些變數。
環境變數的存在提高了程式靈活性。
使用者可以在程式執行之前更改特定的引數,並且程式將能夠檢視這些引數並動態修改其行為,這一些都不需要修改程式碼,將環境變數的這種使用稱為程式配置。
Python中的環境變數
設定環境變數的機制取決於作業系統。
因此,它們可以通過Python的內建os模組使用,該模組抽象出了依賴於作業系統的功能。
Python執行時將程式的所有環境變數保留在類似字典的os.environ物件中。
請注意,os.environ物件在當Python執行載入os模組時被填充。
如果你嘗試在事後更改環境變數(例如,通過在terminal中匯出新的環境變數),它不會起作用的。
讀取環境變數
通過在os.environ物件上執行類似字典的操作來訪問Python中的環境變數。
>>>importos
>>>os.environ
environ({'HOME':'/Users/john','LANG':'en_US.UTF-8','LOGNAME':'john','OLDPWD':'/Users/john','PATH':'/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin','PWD':'/Users/john/python-tutorial','SHELL':'/bin/zsh','TERM':'screen','TERM_PROGRAM':'Apple_Terminal','TERM_PROGRAM_VERSION':'433','TERM_SESSION_ID':'CDC91EF3-15D6-41AD-A17B-E959D97BC4B5','TMPDIR':'/var/folders/md/31nwv67j113d19z0_1287f1r0000gn/T/','TMUX':'/private/tmp/tmux-501/default,3319,0','TMUX_PANE':'%28','USER':'john','_':'/usr/local/bin/python3','__PYVENV_LAUNCHER__':'/usr/local/bin/python3'})
>>>os.environ['HOME']
'/Users/john'
>>>os.environ['LANG']
'en_US.UTF-8'
如果使用下標[]符號訪問環境變數,並且該變數未定義,則將出現執行時錯誤。
>>>os.environ['I_DONT_EXIST']
Traceback(mostrecentcalllast):
File"
如果尚未定義查詢的環境變數,則get()返回None。
>>>result=os.environ.get('I_DONT_EXIST')
>>>print(result)
None
get()方法的一個便利功能是,你可以指定一個預設值,以防在環境變數中搜尋找不到時候返回此預設值。
>>>os.environ.get('I_DONT_EXIST','I_AM_DEFAULT')
'IAMDEFAULT'
替代os.environ.get()的方法是使用os.getenv()功能。
這兩個函式的工作原理相同,你可以將後者視為便捷的API。
寫環境變數
有時你需要在程式中更改環境變數。
例如,如果你需要在收到配置網路請求時修改應用程式的行為,則可能會發生這種情況。
你可以使用下標[]運算子來更改環境變數,就像使用os.environ標準字典一樣。
>>>importos
>>>os.environ['LANG']
'en_US.UTF-8'
>>>os.environ['LANG']='en_GB.UTF-8'
>>>os.environ['LANG']
'en_GB.UTF-8'
請注意,環境變數值應為字串型別。
如果你嘗試將整數或任何其他非字串值分配給環境變數,則會出現執行時錯誤。
>>>importos
>>>os.environ['LANG']=4
Traceback(mostrecentcalllast):
File"
延伸文章資訊
- 1How do I access environment variables in Python? - Stack ...
Environment variables are accessed through os.environ import os print(os.environ['HOME']). Or you...
- 2如何在Python 中訪問環境變數| D棧
環境變數. 環境變數是為Python 程式外部分配值的變數。 · Python 中的環境變數. 設定環境變數的機制取決於作業系統。 · 讀取環境變數. 通過在 os.environ ...
- 3os — Miscellaneous operating system interfaces — Python ...
In Python, file names, command line arguments, and environment variables are represented using th...
- 4【PYTHON】os.environ沒有設定環境變數 - 程式人生
【PYTHON】os.environ沒有設定環境變數. 2020-11-03 PYTHON. 這個問題已經有了答案: How do I make environment variable cha...
- 5Python environ.get方法代碼示例- 純淨天空
需要導入模塊: from os import environ [as 別名] # 或者: from os.environ import get [as 別名] def get(self, mod...