从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如
os.system、os.spawn、os.popen、popen2、commands.
不但可以调用外部的命令作为子进程,而且可以连接到子进程的input/output/error管道,获取相关的返回信息。
subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本通信。
subprocess.call()
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
父进程等待子进程完成
返回退出信息(returncode,相当于Linux exit code)
subprocess.check_call()
subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
父进程等待子进程完成
返回0
检查退出信息,如果returncode不为0,则举出错误subprocess.CalledProcessError,该对象包含有returncode属性,可用try…except…来检查
subprocess.check_output()
subprocess.ch