Python Glossary English

все Python 3osфункция

os.unsetenv

os — окружение

Удаляет переменную окружения на уровне ОС.

Синтаксис

os.unsetenv(key)

Как и putenv, не трогает os.environ: удалённая переменная продолжит там значиться. Правильнее os.environ.pop('X', None) — это снимет переменную и для ОС, и для словаря, а второй аргумент избавит от KeyError, если её нет. Чтобы дочернему процессу не передать переменную, проще дать ему своё окружение через параметр env в subprocess.

Примеры

import os
os.environ['GLOSSARY_DEMO'] = '42'   # → переменная попала и в словарь os.environ, и в окружение ОС
os.unsetenv('GLOSSARY_DEMO')   # → в окружении ОС переменной больше нет: дочерние процессы её не увидят
print(os.environ.get('GLOSSARY_DEMO'))   # → 42 (unsetenv не трогает словарь os.environ — рассинхрон)
os.environ['GLOSSARY_DEMO'] = '42'   # → возвращаем переменную, чтобы удалить её штатным способом
del os.environ['GLOSSARY_DEMO']   # → del сам вызывает os.unsetenv и чистит словарь — рассинхрона нет
print(os.getenv('GLOSSARY_DEMO'))   # → None

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности