Я установил переменную среды, которую хочу получить в моем приложении Python. Как получить это значение?
Как получить доступ к переменным среды из Python?
Ответ 1
Доступ к переменным окружениям осуществляется через os.environ
import os
print(os.environ['HOME'])
Или вы можете увидеть список всех переменных среды, используя:
os.environ
Как иногда вам может потребоваться полный список!
# 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))
 Установка по умолчанию Python в Windows - C:\Python. Если вы хотите узнать при запуске python, вы можете:
import sys
print(sys.prefix)
Ответ 2
 Чтобы проверить, существует ли ключ (возвращает True или False)
'HOME' in os.environ
 Вы также можете использовать get() при печати ключа; полезно, если вы хотите использовать значение по умолчанию.
print(os.environ.get('HOME', '/home/username/'))
 где /home/username/ является значением по умолчанию
Ответ 3
Первоначальный вопрос (первая часть) - это "как проверить переменные среды на Python".
Здесь, как проверить, установлен ли $FOO:
try:  
   os.environ["FOO"]
except KeyError: 
   print "Please set the environment variable FOO"
   sys.exit(1)
Ответ 4
Вы можете получить доступ к переменным среды, используя
import os
print os.environ
Попробуйте просмотреть содержимое переменных окружения PYTHONPATH или PYTHONHOME, возможно, это будет полезно для вашего второго вопроса. Однако вы должны уточнить это.
Ответ 5
Что касается переменных окружения:
import os
print os.environ["HOME"]
Я боюсь, что вам нужно будет еще раз добавить второй пункт, прежде чем появится достойный ответ.
Ответ 6
import os
for a in os.environ:
    print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")
Это будет печатать все переменные среды вместе со своими значениями.
Ответ 7
Если вы планируете использовать код в коде веб-приложения для производства, 
используя любую веб-инфраструктуру, такую как Django/Flask, используйте такие проекты, как envparse, используя ее, вы можете прочитать значение в качестве определенного типа.
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)
ПРИМЕЧАНИЕ: kennethreitz autoenv является рекомендуемым инструментом для создания конкретных переменных среды проекта, обратите внимание, что те, кто использует autoenv пожалуйста, сохраните файл .env закрытый (недоступный для публики)
Ответ 8
В Python 3:
#!/usr/bin/python3
import os
for param in os.environ.keys():
    print("%s: %s " % (param, os.environ[param]))
Ответ 9
Вот вариант с одной строкой, предполагающий import os:
for key in os.environ: print(key,':',os.environ[key])
или с форматированием:
for key in os.environ: print('{:>30} {:<4} {:}'.format(key,':',os.environ[key]))
Ответ 10
На самом деле это можно сделать так:
import os
for item, value in os.environ.items():
    print('{}: {}'.format(item, value))
Или просто:
for i, j in os.environ.items():
    print(i, j)
Для просмотра значения в параметре:
print(os.environ['HOME'])
Или же:
print(os.environ.get('HOME')
Чтобы установить значение:
os.environ['HOME'] = '/new/value'
Ответ 11
 для 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")
или же:
if "key_maybe_not_exist" in os.environ:
    existed_env_value = os.environ["key_maybe_not_exist"]
 для os.getenv:
existed_env_value = os.getenv("key_maybe_not_exist")
эквивалентно:
existed_env_value = os.getenv("key_maybe_not_exist", default=None)
Ответ 12
Там также много замечательных библиотек. Например, Envs позволит вам анализировать объекты из переменных вашей среды, то есть rad.
