Python Glossary English

все Python 3osфункция

os.execvp

os — запуск программ (exec)

Как execv, но программа ищется в каталогах PATH.

Синтаксис

os.execvp(...)

Самый удобный вариант для «запустить программу вместо себя»: поиск по PATH и аргументы списком, где первый элемент — имя программы. Так устроены обёртки и лаунчеры, которые готовят окружение и передают управление настоящей программе. Код после успешного вызова не выполнится.

Примеры

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 и заменит текущий процесс — строки ниже не выполнятся

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности