Python Glossary Русский

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