все Python 3osфункция
os.execvpe
os — запуск программ (exec)
Как execvp, но с явным окружением.
Синтаксис
os.execvpe(...)
Ищет программу по PATH из переданного окружения, а не из текущего, — поэтому, задав окружение без PATH, можно неожиданно не найти программу. Окружение заменяется целиком. Аргументы списком, первый — имя программы.
Примеры
import os
env = {'PATH': '/usr/bin:/bin', 'LC_ALL': 'C'} # PATH для поиска берётся из ЭТОГО словаря, а не из os.environ
print(sorted(env)) # → ['LC_ALL', 'PATH']
print(os.execvpe('нет-такой-программы', ['нет-такой-программы'], env)) # → FileNotFoundError: в PATH из env ничего не нашлось
import os
# os.execvpe('env', ['env'], env) # только Unix: env найдётся в /usr/bin и напечатает LC_ALL и PATH; если в словаре нет PATH, поиск идёт по os.defpath
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности