subprocess
一、subprocess介绍
subprocess 是用于开启子进程子进程指的是由另一个进程开启的进程
为什么开启子进程:当一个程序在运行进程中有一个任务自己做不了或者不想做,就可以开启另一个程序来协助完成任务
内存中,每一个进程的内存区域时相互隔离的不能直接访问,所以需要管道来进行通讯
二、用例
import subprocess # 指定一个输出管道 # 三个管道 stdout = subprocess.PIPE # shell = True 是否是指令还是文件 p = subprocess.Popen("dir",shell = True,stdout = subprocess.PIPE) # subprocess.PIPE为常量 -1 # 从管道中读取运行结果 result = p.stdout.read().decode("UTF8") # print(result) # 案例 # tasklist | findstr python # 先执行tasklist把结果交给findstr来处理 p1 = subprocess.Popen("tasklist",shell=True,stdout=subprocess.PIPE) # shell = True 是一个指令,否则为一个文件 p2 = subprocess.Popen("findstr QQ",shell=True,stdin=p1.stdout,stdout=subprocess.PIPE,stderr=subprocess.PIPE) print(p2.stdout.read()) # b'QQProtect.exe 7120 Services 0 10,216 K\r\nQQ.exe 7184 Console print(p2.stderr.read()) # b''