Python Glossary English

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

os.execlp

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

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

Синтаксис

os.execlp(...)

Ищет программу по каталогам PATH, как оболочка: execlp('python3', 'python3', '-V'). Если программы нет, поднимается FileNotFoundError. Поиск идёт по PATH текущего окружения, и если его подменили, найдётся не та программа — для чувствительного кода надёжнее полный путь, например из shutil.which.

Примеры

import os
os.execlp('echo', 'echo', 'привет')   # → ? только Unix: программа найдена в каталогах PATH, процесс замещён, печатается «привет»
os.execl('echo', 'echo', 'привет')   # → FileNotFoundError: версия без «p» по PATH не ищет, ей нужен полный путь /bin/echo
os.execlp('такой-программы-нет', 'такой-программы-нет')   # → FileNotFoundError: ни в одном каталоге PATH исполняемый файл не найден
pid = os.fork()   # → ? только Unix: 0 в дочернем процессе, pid ребёнка — в родительском
if pid == 0: os.execlp('ls', 'ls', '-l')   # → ? только Unix: ребёнок превращается в `ls -l`, родитель продолжает работу и ждёт его через os.wait()

См. также

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

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