¿Cómo puedo acceder a las variables de entorno en Python?

Resuelto Amit Yadav asked hace 13 años • 17 respuestas

¿Cómo puedo obtener el valor de una variable de entorno en Python?

Amit Yadav avatar Feb 05 '11 20:02 Amit Yadav
Aceptado

Se accede a las variables de entorno a través de os.environ:

import os
print(os.environ['HOME'])

Para ver una lista de todas las variables de entorno:

print(os.environ)

Si no hay una clave presente, al intentar acceder a ella se generará un archivo KeyError. Para evitar esto:

# Returns `None` if the key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))

# Returns `default_value` if the key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST', default_value))

# Returns `default_value` if the key doesn't exist
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))
Rod avatar Feb 05 '2011 13:02 Rod

Para comprobar si la clave existe (devuelve Trueo False)

'HOME' in os.environ

También puede utilizarlo get()al imprimir la clave; útil si desea utilizar un valor predeterminado.

print(os.environ.get('HOME', '/home/username/'))

¿Dónde /home/username/está el valor predeterminado?

lgriffiths avatar Jul 12 '2012 08:07 lgriffiths

En realidad se puede hacer de esta manera:

import os

for key, value in os.environ.items():
    print(f'{key}: {value}')

O simplemente:

for key, value in os.environ.items():
    print('{}: {}'.format(key, value))

o:

for i, j in os.environ.items():
    print(i, j)

Para ver el valor en el parámetro:

print(os.environ['HOME'])

O:

print(os.environ.get('HOME'))

Para establecer el valor:

os.environ['HOME'] = '/new/value'
britodfbr avatar Mar 10 '2018 15:03 britodfbr