all Python 3osfunction
os.execvpe
os — running programs (exec)
Like execvp, but with an explicit environment dict.
Syntax
os.execvpe(...)
It looks the program up via PATH from the environment you pass, not the current one — so an environment without PATH may unexpectedly fail to find the program. The environment is replaced entirely. Arguments go as a list, the first being the program name.
Examples
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
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy