当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python os.environ用法及代码示例

os.environ在Python中是一个映射对象,代表用户的操作系统环境变量。它返回一个字典,其中用户的环境变量作为键,其值作为值。

os.environ行为就像Python字典,因此可以执行所有常见的字典操作,如 get 和 set 。我们还可以修改os.environ但任何更改仅对分配它的当前进程有效,并且不会永久更改该值。

os.environ Python 中的对象语法

用法:
os.environ

参数:它是一个不可调用的对象。因此不需要任何参数

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.



相关用法


注:本文由纯净天空筛选整理自ihritik大神的英文原创作品 Python | os.environ object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。