一前言
在上篇《关于os.popen你可能不知道的》中,提到了调用第三方工具或命令的os.popen方法,同时也指出了使用中可能遇到的坑。本文就介绍下python提供了哪些方法可以执行第三方工具或命令,以及它们的用法和区别。
二主要方法
1.os.system
这个应该是用法最简单的方法了,os.system(“cmd”),直接传入要执行的命令字符串即可。注意返回值,它的返回值不是执行命令的返回结果,如果命令执行成功,则返回0;否则,返回其他值。另外,该方法是阻塞的,也就是说,只有调用的命令执行完毕返回后,才会继续运行后面的代码行。
2.os.popen
3.Subprocess.Popen
subprocess模块是推荐的用来替换一些老的模块和函数,如:os.system、os.popen等,定义了一个类Popen,使用Popen来创建进程,并与进程交互。
函数原型:
class subprocess.Popen(args, bufsize=-1, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=True, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0, restore_signals=True, start_new_session=False, pass_fds=(), *, encoding=None, erro