这期内容当中小编将会给大家带来有关subprocess库如何在Python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用。另外subprocess还提供了一些管理标准流(standard stream)和管道(pipe)的工具,从而在进程间使用文本通信。
导入模块
>>> import subprocess
命令执行call()
执行由参数提供的命令,把数组作为参数运行命令。其功能类似于os.system(cmd)。
>>> subprocess.call(['ls','-l')
其中参数shell默认为False。
在shell设置为True时,可以直接传字符串:
>>> subprocess.call('ls -l',shell=True)
获得返回结果check_output()
call()是不返回显示的结果的,可以使用check_ouput()来获得返回的结果:
>>> result = subprocess.check_output(['ls','-l'],shell=True) >>> result.decode('utf-8')
进程创建和管理Popen类
subprocess.popen代替os.popen。可以创建一个Popen类来创建进程和进行复杂的交互。
创建不等待的子进程
import subprocess child = subprocess.Popen(['ping','-c','4','www.baidu.com']) print('Finished')
添加子进程等待
import subprocess child = subprocess.Popen(['ping','-c','4','www.baidu.com']) child.wait() # 等待子进程结束 print('Finished')
添加了wait()后,主进程会等待子进程结束再执行下面的语句。
子进程文本流控制
标准输出重定向:
import subprocess child = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE) #将标准输出定向输出到subprocess.PIPE print(child.stdout.read())
使用stdin与其配合使用:
import subprocess child1 = subprocess.Popen(['cat','/etc/passwd'],stdout=subprocess.PIPE) child2 = subprocess.Popen(['grep','root'],stdin=child1.stdout,stdout=subprocess.PIPE) print child2.communicate()
上述就是小编为大家分享的subprocess库如何在Python中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。