Pregunta ¿Cómo accedo a las variables de entorno de Python?


Establecí una variable de entorno a la que quiero acceder en mi aplicación Python. ¿Cómo obtengo este valor?


1274
2018-02-05 13:03


origen


Respuestas:


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

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

O puede ver una lista de todas las variables de entorno usando:

os.environ

¡Como a veces es posible que necesites ver una lista completa!

# using get will return `None` if a key is not present rather than raise a `KeyError`
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))

# os.getenv is equivalent, and can also give a default value instead of `None`
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))

Instalación por defecto de Python en Windows es C:\Python. Si desea averiguar mientras ejecuta python puede hacer:

import sys
print(sys.prefix)

1944
2018-02-05 13:18



Para verificar si la clave existe (devoluciones) True/False)

"HOME" in os.environ

o (eliminado de python 3.x)

os.environ.has_key("HOME")

También puedes usar get() al imprimir la clave; útil si quieres usar un valor predeterminado.     (para python 2.7.3)

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

dónde /home/username/ es el predeterminado


130
2017-07-12 08:14



La pregunta original (primera parte) fue "cómo verificar las variables de entorno en Python".

A continuación se explica cómo verificar si $ FOO está configurado:

try:  
   os.environ["FOO"]
except KeyError: 
   print "Please set the environment variable FOO"
   sys.exit(1)

33
2018-03-29 13:58



Puede acceder a las variables de entorno usando

import os
print os.environ

Intente ver el contenido de las variables de entorno PYTHONPATH o PYTHONHOME, quizás esto sea útil para su segunda pregunta. Sin embargo, debes aclararlo.


21
2018-02-05 13:07



En cuanto a las variables de entorno:

import os
print os.environ["HOME"]

Me temo que tendrías que completar tu segundo punto un poco más antes de que sea posible una respuesta decente.


13
2018-02-05 13:07



import os
for a in os.environ:
    print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")

Eso imprimirá todas las variables de entorno junto con sus valores.


9
2018-03-28 15:46



En Python 3:

#!/usr/bin/python3
import os
for param in os.environ.keys():
    print("%s: %s " % (param, os.environ[param]))

6
2018-02-21 11:16