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