Python | os.environ object
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 os import pprint # Get the list of user's # environment variables env_var = os.environ # Print the list of user's # environment variables 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'}
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 variable home = os.environ['HOME'] # Print the value of # 'HOME' environment variable print("HOME:", home) # Get the value of # 'JAVA_HOME' environment variable # using get operation of dictionary java_home = os.environ.get('JAVA_HOME') # Print the value of # 'JAVA_HOME' environment variable print("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 variable print("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 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
Recommended Posts:
- Object Oriented Programming in Python | Set 2 (Data Hiding and Object Printing)
- Object Oriented Programming in Python | Set 1 (Class, Object and Members)
- Python | os.sysconf_names object
- Python | os.supports_dir_fd object
- Python | object() method
- Python Object Comparison : "is" vs "=="
- Python | os.supports_fd object
- Python | os.supports_bytes_environ object
- Python | os.supports_follow_symlinks object
- Python | os.confstr_names object
- Python | os.supports_bytes_environ object
- Python | os.path.supports_unicode_filenames object
- pickle — Python object serialization
- Python | Check if a given object is list or not
- How to create a list of object in Python class
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



