os.execl() .VS. os.system()
os.execl() :
首先看看execl的输入参数
os.execl(path,args)
—path: 这是所需执行程序的路径,并不是所需执行文件的目录,记住是文件路径
—args: 这是执行文件的名字(包括后缀)
—可能你不理解为什么path不是目录, 而是文件路径,下面给出解释:
例如os.execl(“/usr/bin/python” , “python”, “exepy.py”, “argv1”, “argv2”)
—.execl的第一个参数 “/usr/bin/python “是程序的可执行文件,而其他的分别是programName arguments…,就是c++中int main(int argc, char** argv)中的arg
—os.execl()支持windows 和 linux
os.system() :
os.system(cmd)
—参数cmd是一个str 类型,内容为命令,也可以可执行文件的路径
—os.execl()支持windows 和 linux
os.execl() 与os.system()在进程process中的不同
对于os.execl(path, args) 在执行它的时候,使用的是当前进程,也就是系统不会为括号中执行的程序重新分配进程, 不返回执行结果