все Python 3osфункция
os.execv
os — запуск программ (exec)
Заменяет текущий процесс новой программой (путь + список аргументов); при успехе не возвращается.
Синтаксис
os.execv(...)
Первым элементом списка должно идти имя программы: execv('/bin/ls', ['ls', '-l']). Если передать ['-l'], программа решит, что её зовут '-l', и останется без аргументов; пустой список поднимает ValueError. Текущий процесс заменяется целиком — код после вызова не выполнится, а несброшенные буферы пропадут, поэтому перед вызовом делайте sys.stdout.flush().
Примеры
import os
args = ['ls', '-l', '/tmp'] # args[0] — имя программы, каким её увидит сама программа
print(args[0], len(args)) # → ls 3
print(os.execv('ls', args)) # → FileNotFoundError: execv не ищет в PATH, нужен полный путь
import os
# os.execv('/bin/ls', args) # только Unix: текущий процесс заменяется на ls, строки ниже уже не выполнятся
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности