¿Cómo puedo acceder a las variables de entorno en Python?
¿Cómo puedo obtener el valor de una variable de entorno en Python?
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))
Para comprobar si la clave existe (devuelve True
o 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?
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'