all Python 3osfunction
os.execle
os — running programs (exec)
Like execl, but the last argument is an environment dict.
Syntax
os.execle(...)
The last argument is the environment dict, not another program argument — easy to misplace. The environment is replaced entirely, so include PATH and the rest explicitly. The program path must be complete: variants without the letter p do not search PATH.
Examples
import os
env = {'GREETING': 'привет', 'PATH': '/usr/bin:/bin'}
os.execle('/bin/sh', 'sh', '-c', 'echo $GREETING', env) # → ? только Unix: процесс замещается на sh и печатает «привет» — переменная взята из переданного env
os.execle('/usr/bin/env', 'env', {}) # → ? только Unix: новый процесс стартует с пустым окружением, env не печатает ни строки
os.execle('/bin/sh', 'sh', '-c', 'echo $GREETING') # → AttributeError: 'str' object has no attribute 'keys' — последний аргумент execle обязан быть словарём окружения, а не аргументом команды
os.execl('/bin/sh', 'sh', '-c', 'echo $GREETING') # → ? только Unix: у execl своего env нет — программа наследует окружение текущего процесса
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy