os.environ
поводиться як словник python, тому всі загальні операції зі словником можна виконувати. У доповненні до get
і set
операціями , згаданих в інших відповідях, ми можемо просто перевірити , якщо ключ існує. Ключі та значення повинні зберігатися у вигляді рядків .
Пітон 3
Для Python 3, словники використовують в ключовому слові замість has_key
>>> import os
>>> 'HOME' in os.environ # Check an existing env. variable
True
...
Пітон 2
>>> import os
>>> os.environ.has_key('HOME') # Check an existing env. variable
True
>>> os.environ.has_key('FOO') # Check for a non existing variable
False
>>> os.environ['FOO'] = '1' # Set a new env. variable (String value)
>>> os.environ.has_key('FOO')
True
>>> os.environ.get('FOO') # Retrieve the value
'1'
Є одна важлива річ, яку слід зазначити щодо використання os.environ
:
Хоча дочірні процеси успадковують середовище від батьківського процесу, я нещодавно зіткнувся з проблемою і з’ясував, якщо у вас є інші сценарії, що оновлюють середовище під час запуску сценарію python, виклик os.environ
знову не відображатиме останні значення .
Уривок із документів :
Це відображення фіксується під час першого імпортування модуля os, як правило, під час запуску Python у рамках обробки site.py. Зміни навколишнього середовища, внесені після цього часу, не відображаються в os.environ, за винятком змін, внесених безпосередньо шляхом зміни os.environ.
os.environ.data
який зберігає всі змінні середовища, є об'єктом dict, який містить усі значення середовища:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>