Я установил переменную среды, к которой хочу получить доступ в своем приложении Python. Как мне получить это значение?
Доступ к переменным окружения осуществляется через 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)
Чтобы проверить, существует ли ключ (возвращает True
или False
)
'HOME' in os.environ
Вы также можете использовать get()
при печати ключа; полезно, если вы хотите использовать ключ по умолчанию.
print(os.environ.get('HOME', '/home/username/'))
где /home/username/
- это значение по умолчанию.
Первоначальный вопрос (первая часть) был "как проверить переменные окружения в Python".
Вот как проверить, задана ли переменная $FOO:
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)
Вы можете получить доступ к переменным окружения с помощью
import os
print os.environ
Попробуйте посмотреть содержимое переменных окружения PYTHONPATH или PYTHONHOME, возможно это будет полезно для вашего второго вопроса. Однако вам следует уточнить его.
Что касается переменных окружения:
import os
print os.environ["HOME"]
Боюсь, что вам придется более подробно описать второй пункт, прежде чем можно будет дать достойный ответ.
На самом деле это можно сделать это:
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'
Если вы планируете использовать код в производственной кода веб-приложения, используя любой веб-фреймворк, как Джанго/колбу, использовать такие проекты, как 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
частная (недоступными для публики)
Там's также ряд крупнейших библиотек. Envs, например, позволит вам обрабатывать объекты из ваших переменных окружения, который рад. Например:
from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']