(5)subprocess模块(子进程模块)
什么是进程
一个程序运行起来了就是一个进程
但是程序本身不是进程,程序是一对代码而已
所以进程就是一个抽象的概念,就是程序运行起来的一个过程
进程和进程之间是相互独立的,互不影响
如何理解子进程和父进程
抽象的说一个QQ程序是一个父进程,word就是一个子进程,两个互不干预,当然这只是一个比喻
subprocess模块的用途
让父进程从管道内获取子进程运行的结果
调用格式(这个模块的调用时一个固定的格式)
import subprocess
obj=subprocess.Popen(
'tasklasdfist', #第一个参数是一个字符串形式的命令
shell=True, #第二个参数是调用命令解释器(如调用cmd)
stdout=subprocess.PIPE, #第三个参数stdout是指标准输出,输出的对象就是subrocess.PIPE(管道)
stderr=subprocess.PIPE #第四个参数stderr是指错误输出,输出的对象就是subrocess.PIPE(管道)
)
res=obj.stdout.read() #从正确管道内读取结果 (obj是一个特殊的对象,这个特殊的对象下面可以调用一个srdout(对应的就是正确的管道)下调用一个read
print(res.decode('gbk')) #根据系统的编码进行解码读取
res=obj.stderr.read() #这是从错误管道内获取结果
print(res.decode('gbk'))
PS:管道的概念,什么是管道,可以想象成生活中的管道,作用就是因为进程和进程之间是相互隔离的,无法传播数据,所以用管道可以把子进程和父进程关联起来
PS:管道内读取的结果是以系统的编码格式返回的二进制字符,所以在打印时候需要根据系统的编码进行解码
(5)subprocess模块(子进程模块)的更多相关文章
- subprocess(子进程模块)
subprocess: 子进程模块 一个正在运行的程序叫做进程 一个进程 开启了另一个进程 这个被开启的程序叫做子ka进程 ###########################在cmd中执行#### ...
- [转载]Python模块学习 ---- subprocess 创建子进程
[转自]http://blog.sciencenet.cn/blog-600900-499638.html 最近,我们老大要我写一个守护者程序,对服务器进程进行守护.如果服务器不幸挂掉了,守护者能即时 ...
- subprocess 子进程模块
subprocess子进程模块 import subprocess #Popen方法是用来执行系统命令的,直接把结果打印到终端了 res =subprocess.Popen(r'dir',shell= ...
- Python(文件、文件夹压缩处理模块,shelve持久化模块,xml处理模块、ConfigParser文档配置模块、hashlib加密模块,subprocess系统交互模块 log模块)
OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目 ...
- Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块
Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函 ...
- os模块,os.path模块,subprocess模块,configparser模块,shutil模块
1.os模块 os表示操作系统该模块主要用来处理与操作系统相关的操作最常用的文件操作打开 读入 写入 删除 复制 重命名 os.getcwd() 获取当前执行文件所在的文件夹路径os.chdir(&q ...
- os模块-subprocess 模块- configpaser 模块
一. os 模块 主要用于处理与操作系统相关操作,最常用文件操作 使用场景:当需要操作文件及文件夹(增,删,查,改) os.getcwd() 获取当前工作目录 os.chdir('dirname') ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- python day 9: xlm模块,configparser模块,shutil模块,subprocess模块,logging模块,迭代器与生成器,反射
目录 python day 9 1. xml模块 1.1 初识xml 1.2 遍历xml文档的指定节点 1.3 通过python手工创建xml文档 1.4 创建节点的两种方式 1.5 总结 2. co ...
- python-网络安全编程第六天(threading多线程模块&Queue模块&subprocess模块)
前言 昨天晚上9点多就睡了 2点起来没睡意... 那就学习吧emmmm ,拿起闲置几天的python课程学习.学习到现在5.58了 总结下 继续开始学习新的内容 多多线程? 线程(英语:thread) ...
随机推荐
- Codeforces 898F - Restoring the Expression(字符串hash)
898F - Restoring the Expression 思路:字符串hash,base是10,事实证明对2e64取模会T(也许ull很费时),对1e9+7取模. 代码: #include< ...
- 3-18/19 (自我练习)30多个《Ruby元编程》的spell(pattern)小例子。
Spell,也称pattern,idiom # Around Alias:从一个重新定义的方法中调用原始的,被重命名的版本. # old_reverse是未改变的原始方法,reverse/new_re ...
- Educational Codeforces Round 57题解
A.Find Divisible 沙比题 显然l和2*l可以直接满足条件. 代码 #include<iostream> #include<cctype> #include< ...
- python-day41--数据库---数据类型
一.存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 二.mysql 数据类型 1.数字:(宽度指的是显示宽度,与存储无关) 不用指定宽度, ...
- HDU-3507 Print Article (斜率优化)
题目大意:将n个数分成若干个区间,每个区间的代价为区间和的平方加上一个常数m,求最小代价. 题目分析:定义状态dp(i)表示前 i 个数已经分好的最小代价,则状态转移方程为 dp(i)=min(dp( ...
- MySQL使用全文索引(fulltext index)---高性能
转载地址:https://blog.csdn.net/u011734144/article/details/52817766/ 1.创建全文索引(FullText index) 旧版的MySQL的全文 ...
- CAS-登出配置
该图 当一个web 浏览器登录到应用服务器时,应用服务器(application)会监测用户的session,如果没有session,则应用服务器会把url跳转到CAS server上.要求 用户登录 ...
- hadoop kafka install (6)
reference: http://kafka.apache.org/quickstart http://dblab.xmu.edu.cn/blog/1096-2/ hadoop@iZuf68496 ...
- Flash OS images to SD cards & USB drives & TF cards safely and easily using etcher
install tools: wget https://github.com/resin-io/etcher/releases/download/v1.4.5/etcher-cli-1.4.5-lin ...
- James Whittaker:经营成功的测试职业生涯
转注:这篇文章出自 James A. Whittaker,Google的工程总监,负责Google部分产品的测试,包括Chrome.地图.GoogleWebApp.在加盟Google之前,James在 ...