all Python 3osfunction
os.execvp
os — running programs (exec)
Like execv, but the program is looked up in PATH.
Syntax
os.execvp(...)
The handiest variant for "run a program in my place": PATH lookup and a list of arguments whose first item is the program name. Wrappers and launchers that prepare an environment and hand over control are built this way. Code after a successful call never runs.
Examples
import os
args = ['ls', '-l'] # аргументы списком (v), имя программы — без пути
print(len(os.get_exec_path()) > 0) # → True — именно в этих каталогах (PATH) execvp ищет программу
print(os.execvp('нет-такой-программы', ['нет-такой-программы'])) # → FileNotFoundError: ни в одном каталоге PATH не нашлось
import os
# os.execvp('ls', args) # только Unix: найдёт /bin/ls в PATH и заменит текущий процесс — строки ниже не выполнятся
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy