Python Glossary Русский

all Python 3osfunction

os.execlp

os — running programs (exec)

Like execl, but the program is looked up in PATH.

Syntax

os.execlp(...)

It searches PATH directories like a shell: execlp('python3', 'python3', '-V'). A missing program raises FileNotFoundError. The lookup uses the current environment's PATH, and a tampered PATH finds the wrong program — sensitive code is safer with a full path, for instance from shutil.which.

Examples

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()

See also

Common errors

Open in the full glossarydocs.python.orgReport an inaccuracy