Python Glossary English

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