赞
踩
1、用来生成子进程,并可以通过管道连接他们的输入/输出/错误,以及获得他们的返回值。
2、subprocess用来替换多个旧模块和函数
os.system 结果输出到屏幕
os.spawn*
os.popen* 结果保存在内存中,用read()方法可读取
popen2.*
commands.*
备注:运行python的时候,我们都是在创建并运行一个进程,linux中一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在python中,我们通过标准库中的subprocess包来fork一个子进程,并且运行一个外部的程序。subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所欲我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本通信。
*备注:函数参数简介
(1)args:启动进程的参数,默认为字符串序列(列表或元组),也可为字符串(设为字符串时一般需将shell参数赋值为True);
(2) shell:shell为True,表示args命令通过shell执行,则可访问shell的特性;
(3) check:check为True时,表示执行命令的进程以非0状态码退出时会抛出;subprocess.CalledProcessError异常;check为False时,状态码为非0退出时不会抛出异常;
(4) stdout、stdin、stderr:分别表示程序标准标输出、输入、错误信息;
1、subprocess.run(args, stdout, stderr, shell …):
作用:执行args命令,返回值为CompletedProces类
2、subprocess.call(args[, stdout, …]):
作用:执行args命令,返回值为命令执行状态码;
3、subprocess.check_call(args[, stdout, …]):
作用:执行args命令,返回值为命令执行状态码;
4、subprocess.check_output(args[, stderr, …]):
作用:执行args命令,返回值为命令执行的输出结果;
1、subprocess.getoutput(cmd):
2、subprocess.getstatusoutput(cmd):
作用:subprocess.Popen类用于在一个新进程中执行一个子程序,上述subprocess函数均是基于subprocess.Popen类;
1、subprocess.Popen(args[, bufsize, stdin, stdout, stderr, …]):Popen类的构造函数,返回结果为subprocess.Popen对象;
2、subprocess.Popen对象常用方法(如PopenObject为subprocess.Popen对象)
3、subprocess.Popen对象的文本或字节流控制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。