os.environ
在Python中是一個映射對象,代表用戶的操作係統環境變量。它返回一個字典,其中用戶的環境變量作為鍵,其值作為值。
os.environ
行為就像Python字典,因此可以執行所有常見的字典操作,如 get 和 set 。我們還可以修改os.environ
但任何更改僅對分配它的當前進程有效,並且不會永久更改該值。
os.environ Python 中的對象語法
用法:
參數:它是一個不可調用的對象。因此不需要任何參數
Return Type:這將返回一個表示用戶環境變量的字典
Python os.environ 對象示例
下麵是一些示例,我們可以通過這些示例使用 os.environ 來獲取環境變量Python並使用設置環境變量操作係統模塊在Python中:
使用 os.environ 對象訪問用戶環境變量
在此示例中,以下代碼使用“os.environ”對象來檢索並打印列表用戶的環境變量,使用`印刷品` 模塊以可讀格式顯示它們。
Python3
# importing os module
import os
import pprint
# Get the list of user's
env_var = os.environ
# Print the list of user's
print("User's Environment variable:")
pprint.pprint(dict(env_var), width = 1)
輸出:
{'CLUTTER_IM_MODULE': 'xim',
'COLORTERM': 'truecolor',
'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus',
'DESKTOP_SESSION': 'ubuntu',
'DISPLAY': ':0',
'GDMSESSION': 'ubuntu',
'GJS_DEBUG_OUTPUT': 'stderr',
'GJS_DEBUG_TOPICS': 'JS '
'ERROR;JS '
'LOG',
'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated',
'GNOME_SHELL_SESSION_MODE': 'ubuntu',
'GTK_IM_MODULE': 'ibus',
'HOME': '/home/ihritik',
'IM_CONFIG_PHASE': '2',
'JAVA_HOME': '/opt/jdk-10.0.1',
'JOURNAL_STREAM': '9:28586',
'JRE_HOME': '/opt/jdk-10.0.1/jre',
'LANG': 'en_IN',
'LANGUAGE': 'en_IN:en',
'LESSCLOSE': '/usr/bin/lesspipe '
'%s '
'%s',
'LESSOPEN': '| '
'/usr/bin/lesspipe '
'%s',
'LOGNAME': 'ihritik',
'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/usr/local/games:/snap/bin:/usr/local/java/jdk-10.0.1/bin:
/usr/local/java/jdk-10.0.1/jre/bin:/opt/jdk-10.0.1/bin:/opt/jdk-10.0.1/jre/bin',
'PWD': '/home/ihritik',
'QT4_IM_MODULE': 'xim',
'QT_IM_MODULE': 'ibus',
'SESSION_MANAGER': 'local/hritik:@/tmp/.ICE-unix/1127, unix/hritik:/tmp/.ICE-unix/1127',
'SHELL': '/bin/bash',
'SHLVL': '2',
'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh',
'TERM': 'xterm-256color',
'TEXTDOMAIN': 'im-config',
'TEXTDOMAINDIR': '/usr/share/locale/',
'USER': 'ihritik',
'USERNAME': 'ihritik',
'VTE_VERSION': '4804',
'WAYLAND_DISPLAY': 'wayland-0',
'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg',
'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME',
'XDG_MENU_PREFIX': 'gnome-',
'XDG_RUNTIME_DIR': '/run/user/1000',
'XDG_SEAT': 'seat0',
'XDG_SESSION_DESKTOP': 'ubuntu',
'XDG_SESSION_ID': '2',
'XDG_SESSION_TYPE': 'wayland',
'XDG_VTNR': '2',
'XMODIFIERS': '@im=ibus',
'_': '/usr/bin/python3'}
使用 os.environ 對象檢索特定環境變量
在此示例中,此代碼使用os.environ
對象檢索並打印特定的值環境變量(“HOME”和“JAVA_HOME”)。它演示了如何使用現有變量(“HOME”)的方括號表示法並使用 os.environ 直接訪問值。get()
可能不存在的變量的方法(‘JAVA_HOME’)。
Python3
# importing os module
import os
# 'HOME' environment variable
home = os.environ['HOME']
print("HOME:", home)
# 'JAVA_HOME' environment variable
java_home = os.environ.get('JAVA_HOME')
# 'JAVA_HOME' environment variable
print("JAVA_HOME:", java_home)
輸出:
HOME: /home/ihritik
JAVA_HOME: /opt/jdk-10.0.1
使用 OS 模塊設置環境變量
在此示例中,Python 代碼使用 `os.environ['JAVA_HOME']` 打印 'JAVA_HOME' 環境變量的當前值,然後將 'JAVA_HOME' 的值修改為 '/home/ihritik /jdk-10.0.1',並使用相同的方法打印修改後的值。
Python3
# importing os module
import os
# Print the value
print("JAVA_HOME:", os.environ['JAVA_HOME'])
# Modify the value
os.environ['JAVA_HOME'] = '/home / ihritik / jdk-10.0.1'
# Print the modified value
print("Modified JAVA_HOME:", os.environ['JAVA_HOME'])
輸出:
JAVA_HOME: /opt/jdk-10.0.1
Modified JAVA_HOME: /home/ihritik/jdk-10.0.1
使用 os.environ 添加新的環境變量對象
在此示例中,Python 代碼使用“os.environ”對象添加一個名為“GeeksForGeeks”、值為“www.geeksforgeeks.org”的新環境變量。然後,它使用 os.environ[‘GeeksForGeeks’] 檢索並打印添加的環境變量的值。
Python3
# importing os module
import os
# Add a new environment variable
os.environ['GeeksForGeeks'] = 'www.geeksforgeeks.org'
# Get the value
print("GeeksForGeeks:", os.environ['GeeksForGeeks'])
輸出:
GeeksForGeeks: www.geeksforgeeks.org
訪問不存在的環境變量
在此示例中,Python 代碼嘗試使用以下命令打印“MY_HOME”環境變量的值os.environ['MY_HOME']
。然而,有一個語法錯誤在代碼中由於缺少右括號print
聲明,這將導致SyntaxError
.
Python3
# importing os module
import os
# Print the value
print("MY_HOME:", os.environ['MY_HOME']
輸出:
Traceback (most recent call last):
File "osenviron.py", line 8, in
print("MY_HOME:", os.environ['MY_HOME'])
File "/usr/lib/python3.6/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'MY_HOME'
訪問不存在的環境變量時的錯誤處理
在此示例中,代碼演示了兩種方法來訪問環境變量“MY_HOME”的值。第一種方法使用“os.environ.get()”,如果未找到該變量,則會顯示默認消息,而第二種方法則使用“os.environ.get()”。方法使用一個try-except塊抓住一個KeyError如果變量不存在。
Python3
# importing os module
import os
# Method 1
print("MY_HOME:", os.environ.get('MY_HOME', "Environment variable does not exist"))
# Method 2
try:
print("MY_HOME:", os.environ['MY_HOME'])
except KeyError:
print("Environment variable does not exist")
輸出:
MY_HOME: Environment variable does not exist
Environment variable does not exist
常見問題 (FAQ)
操作係統環境是什麽意思?
The Operating System (OS) environmental or OS environ means or OS environ define the software and hardware infrastructure that enables computer programs to run. It includes the OS kernel, system libraries, and device drivers, providing an interface for application software to interact with the computer hardware.
如何在Python中訪問環境變量?
In Python, you can access environment variables using the `os` module. By using os.environ, we can access a dictionary-like object containing environment variables. For example, `value = os.environ.get(‘VARIABLE_NAME’)` retrieves the value of the specified environment variable.
相關用法
- Python os.eventfd用法及代碼示例
- Python os.chmod()用法及代碼示例
- Python os.fdopen()用法及代碼示例
- Python os.fpathconf()用法及代碼示例
- Python os.getcwdu()用法及代碼示例
- Python os.lchmod()用法及代碼示例
- Python os.lstat()用法及代碼示例
- Python os.pathconf()用法及代碼示例
- Python os.popen()用法及代碼示例
- Python os.tcsetpgrp()用法及代碼示例
- Python os.tempnam()用法及代碼示例
- Python os.tmpfile()用法及代碼示例
- Python os.tmpnam()用法及代碼示例
- Python os.kill()用法及代碼示例
- Python os.getgrouplist()用法及代碼示例
- Python os.getenvb()用法及代碼示例
- Python os.get_inheritable()用法及代碼示例
- Python os.get_exec_path()用法及代碼示例
- Python os.get_blocking()用法及代碼示例
- Python os.fsync()用法及代碼示例
- Python os.fstat()用法及代碼示例
- Python os.getcwd()用法及代碼示例
- Python os.fsdecode()用法及代碼示例
- Python os.path.islink()用法及代碼示例
- Python os.path.normcase()用法及代碼示例
注:本文由純淨天空篩選整理自ihritik大神的英文原創作品 Python | os.environ object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。