Python | os.environ object - GeeksforGeeks

13 Apr, 2022
OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality.
os.environ in Python is a mapping object that represents the user’s environmental variables. It returns a dictionary having user’s environmental variable as key and their values as value.
os.environ behaves like a python dictionary, so all the common dictionary operations like get and set can be performed. We can also modify os.environ but any changes will be effective only for the current process where it was assigned and it will not change the value permanently.
Syntax: os.environ
Parameter: It is a non-callable object. Hence, no parameter is required
Return Type: This returns a dictionary representing the user’s environmental variables
Code #1: Use of os.environ to get access of environment variables
# Python program to explain os.environ object   # importing os module import osimport pprint  # Get the list of user's# environment variablesenv_var = os.environ  # Print the list of user's# environment variablesprint("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'}

Code #2: Accessing a particular environment variable
# Python program to explain os.environ object   # importing os module import os  # Get the value of# 'HOME' environment variablehome = os.environ['HOME']  # Print the value of# 'HOME' environment variableprint("HOME:", home)  # Get the value of# 'JAVA_HOME' environment variable# using get operation of dictionaryjava_home = os.environ.get('JAVA_HOME')  # Print the value of# 'JAVA_HOME' environment variableprint("JAVA_HOME:", java_home)
HOME: /home/ihritik
JAVA_HOME: /opt/jdk-10.0.1

Code #3: Modifying a environment variable
# Python program to explain os.environ object   # importing os module import os    # Print the value of# 'JAVA_HOME'  environment variable print("JAVA_HOME:", os.environ['JAVA_HOME'])  # Modify the value of# 'JAVA_HOME'  environment variable os.environ['JAVA_HOME'] = '/home / ihritik / jdk-10.0.1'  # Print the modified value of# 'JAVA_HOME' environment variableprint("Modified JAVA_HOME:", os.environ['JAVA_HOME'])
JAVA_HOME: /opt/jdk-10.0.1
Modified JAVA_HOME: /home/ihritik/jdk-10.0.1

Code #4: Adding a new environment variable
# Python program to explain os.environ object   # importing os module import os  # Add a new environment variable os.environ['GeeksForGeeks'] = 'www.geeksforgeeks.org'  # Get the value of# Added environment variable print("GeeksForGeeks:", os.environ['GeeksForGeeks'])
GeeksForGeeks: www.geeksforgeeks.org

Code #5: Accessing a environment variable which does not exists
# Python program to explain os.environ object   # importing os module import os  # Print the value of# 'MY_HOME' environment variable print("MY_HOME:", os.environ['MY_HOME']    # If the key does not exists# it will produce an error
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'

Code #6: Handling error while Accessing a environment variable which does not exists
# Python program to explain os.environ object     # importing os module import os  # Method 1# Print the value of# 'MY_HOME' environment variable print("MY_HOME:", os.environ.get('MY_HOME', "Environment variable does not exist"))    # Method 2try:    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

aiyesbolatova
python-os-module
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Read a file line by line in Python
Enumerate() in Python
How to Install PIP on Windows ?
Iterate over a list in Python
Different ways to create Pandas Dataframe
Python String | replace()
Create a Pandas DataFrame from Lists
Python program to convert a list to string
Reading and Writing to text files in Python