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