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代表的是用来代表新进程环境变量的映射,采用字典的形式。
原文:https://www.cnblogs.com/johnyang/p/10888780.html