una - ¿Cómo accedo a las variables de entorno desde Python?
variables de entorno windows 10 (11)
Aquí hay una opción de una línea asumiendo que la importación se ha realizado:
for key in os.environ: print(key,'':'',os.environ[key])
o con formato:
for key in os.environ: print(''{:>30} {:<4} {:}''.format(key,'':'',os.environ[key]))
Establecí una variable de entorno a la que quiero acceder en mi aplicación Python. ¿Cómo consigo este valor?
En Python 3:
#!/usr/bin/python3
import os
for param in os.environ.keys():
print("%s: %s " % (param, os.environ[param]))
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.
En realidad se puede hacer esto
import os
for item, value in os.environ.items():
print(''{}: {}''.format(item, value))
O simplemente:
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''
La pregunta original (primera parte) era "cómo verificar las variables de entorno en Python".
Aquí le indicamos cómo verificar si $ FOO está configurado:
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)
Para comprobar si la clave existe (devuelve True
/ False
)
"HOME" in os.environ
o (eliminado de python 3.x)
os.environ.has_key("HOME")
También puede usar get()
al imprimir la clave; Útil si quieres usar un predeterminado. (para python 2.7.3)
print os.environ.get(''HOME'',''/home/username/'')
donde /home/username/
es el predeterminado
Puede acceder a las variables de entorno utilizando
import os
print os.environ
Intente ver el contenido de las variables de entorno PYTHONPATH o PYTHONHOME, tal vez esto sea útil para su segunda pregunta. Sin embargo debes aclararlo.
Se accede a las variables de entorno a través de os.environ
import os
print(os.environ[''HOME''])
O puedes ver una lista de todas las variables de entorno usando:
os.environ
Como a veces es posible que necesite 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))
La instalación predeterminada de Python en Windows es C:/Python
. Si quieres descubrirlo mientras ejecutas python puedes hacerlo:
import sys
print(sys.prefix)
Si planea usar el código en un código de aplicación web de producción,
usando cualquier marco web como Django / Flask, use proyectos como envparse , usándolo puede leer el valor como su tipo definido.
from envparse import env
# will read WHITE_LIST=hello,world,hi to white_list = ["hello", "world", "hi"]
white_list = env.list("WHITE_LIST", default=[])
# Perfect for reading boolean
DEBUG = env.bool("DEBUG", default=False)
NOTA: kenethreitz''s autoenv es una herramienta recomendada para hacer variables de entorno específicas del proyecto, tenga en cuenta que aquellos que están usando autoenv
mantienen el archivo .env
privado (no disponible para el público)
para os.environ.get
:
try:
env_value = os.environ.get("key_maybe_not_exist")
except KeyError:
print("Not exist environment value for %s" % "key_maybe_not_exist")
o:
if "key_maybe_not_exist" in os.environ:
existed_env_value = os.environ["key_maybe_not_exist"]
para os.getenv
:
existed_env_value = os.getenv("key_maybe_not_exist")
equivalente a:
existed_env_value = os.getenv("key_maybe_not_exist", default=None)
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.