Python Glossary Русский

all Python 3osfunction

os.execve

os — running programs (exec)

Like execv, but with an explicit environment dict.

Syntax

os.execve(...)

The new program receives exactly the environment you pass and nothing more: leave out PATH, HOME or LANG and the program will not see them. A common idiom is {**os.environ, 'KEY': 'value'}. Keys and values must be strings. As with every exec, code after a successful call never runs.

Examples

import os
env = {'PATH': '/usr/bin:/bin', 'LANG': 'C'}   # новая программа получит РОВНО эти переменные, os.environ не наследуется
print(sorted(env))   # → ['LANG', 'PATH']
print(os.execve('/нет/такой/программы', ['prog'], env))   # → FileNotFoundError
import os
# os.execve('/usr/bin/env', ['env'], env)   # только Unix: env напечатает LANG и PATH; с env={} программа стартует вообще без PATH и HOME

See also

Common errors

Open in the full glossarydocs.python.orgReport an inaccuracy