El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo.
os.environ
en Python es un objeto de mapeo que representa las variables ambientales del usuario. Devuelve un diccionario que tiene la variable ambiental del usuario como clave y sus valores como valor.
os.environ
se comporta como un diccionario de python, por lo que se pueden realizar todas las operaciones comunes del diccionario, como obtener y establecer. También podemos modificar, os.environ
pero cualquier cambio será efectivo solo para el proceso actual donde se asignó y no cambiará el valor de forma permanente.
Sintaxis: os.environ
Parámetro: Es un objeto no invocable. Por lo tanto, no se requiere ningún parámetro.
Tipo de retorno: Esto devuelve un diccionario que representa las variables ambientales del usuario
Código #1: uso de os.environ para obtener acceso a variables de entorno
# 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'}
Código #2: Acceso a una variable de entorno particular
# 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
Código #3: Modificando una variable de entorno
# 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
Código #4: Agregar una nueva variable de entorno
# 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
Código #5: Acceso a una variable de entorno que no existe
# 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'
Código n.º 6: error de manejo al acceder a una variable de entorno que no existe
# 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