все 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Сообщить о неточности