все Python 3osфункция
os.spawnve
os — запуск программ (spawn)
Как spawnv, но с явным окружением.
Синтаксис
os.spawnve(...)
Как и у execve, окружение заменяется целиком: без PATH, HOME и LANG программа их не получит. Путь к программе задаётся полностью. Для запуска с изменённым окружением удобнее subprocess.run(args, env={**os.environ, ...}).
Примеры
import os
import sys
env = {**os.environ, 'GREETING': 'hello'} # env заменяет окружение целиком, поэтому его копируют из os.environ
print(env['GREETING']) # → hello
print(os.spawnve(os.P_WAIT, sys.executable, ['python', '-c', 'import os; print(os.environ["GREETING"])'], env)) # → сначала потомок печатает hello, затем 0 — код выхода
print('PATH' in os.environ) # → True
print('PATH' in {'GREETING': 'hello'}) # → False (с таким «голым» env дочерний процесс останется без PATH)
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности