все Python 3osфункция
os.execve
os — запуск программ (exec)
Как execv, но с явным словарём переменных окружения для новой программы.
Синтаксис
os.execve(...)
Новая программа получает ровно переданное окружение и ничего больше: если не включить в словарь PATH, HOME или LANG, программа их не увидит. Типичный приём — {**os.environ, 'KEY': 'value'}. Ключи и значения должны быть строками. Как у всех exec, код после успешного вызова не выполнится.
Примеры
import os
env = {'PATH': '/usr/bin:/bin', 'LANG': 'C'} # новая программа получит РОВНО эти переменные, os.environ не наследуется
print(sorted(env)) # → ['LANG', 'PATH']
print(os.execve('/нет/такой/программы', ['prog'], env)) # → FileNotFoundError
import os
# os.execve('/usr/bin/env', ['env'], env) # только Unix: env напечатает LANG и PATH; с env={} программа стартует вообще без PATH и HOME
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности