Python Glossary English

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