os.exec*族主要用来代替当前进程,执行新的程序,不返回值。在UNIX上,新的执行程序加载到当前进程,与调用它的进程有相同的id。
os.execl
(path, arg0, arg1, ...)
os.
execle
(path, arg0, arg1, ..., env)
os.
execlp
(file, arg0, arg1, ...)
os.
execlpe
(file, arg0, arg1, ..., env)o
s.
execv
(path, args)
os.
execve
(path, args, env)
os.
execvp
(file, args)
os.
execvpe
(file, args, env)
需要说明的是:
‘l’和‘v'代表传入命令行的参数设置情况,'l'代表固定个数的命令行参数,传入时,分别以arg0,arg1...的形式,而’v'代表不定个数的命令行参数,传入时,以args(列表或者元组)的形式。
p代表的是路径,当无‘p'时,默认以可执行文件Python.exe的路径传入,如os.execl(r'C:\Software\python3.6.8\python.exe','python','child.py','k'),这里path就是C:\Software\python3.6.8/python.exe,有'p'时,以文件名python,传入,该文件名默认自动从PATH环境变量中寻找,如os.execlp('python','pyton','child.py','k')。
e代表的是用来代表新进程环境变量的映射,采用字典的形式。