使用Python调用系统命令
os.system() 该函数返回命令执行结果的返回值,system()函数在执行过程中进行了以下三步操作: 1、fork一个子进程; 2、在子进程中调用exec函数去执行命令; 3、在父进程中调用wait(阻塞)去等待子进程结束。 返回0表示命令执行成功,其他表示失败。 注意:使用该函数经常会莫名其妙地出现错误,但是直接执行命令并没有问题,所以一般建议不要使用。 用法:os.system("command") os.popen() 这种调用方式是通过管道的方式来实现,函数返回是 file read 的对象,对其进行读取read、readlines等操作可以看到执行的输出。 注意:如果命令执行失败,就读取不到内容。 用法:os.popen("command") subprocess.Popen() subprocess模块被推荐用来替换一些老的模块和函数,如:os.system、os.spawn*、os.popen*等 subprocess模块目的是fork一个新的进程并与之通信,最常用是定义类Popen,使用Popen可以创建进程,并与进程进行复杂的交互。其函数原型为: class subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn