Python实现处理管道的方法


Posted in Python onJune 04, 2015

本文实例讲述了Python实现处理管道的方法。分享给大家供大家参考。具体分析如下:

Linux下的可以施展的最炫的魔法是什么?相信不同的人说法不同,但是如果没有管道,那么恐怕在绚丽魔法的都会失去魔力

这里就介绍怎么使用Python来处理这些管道

管道调用子程序

我们想在程序中使用一个子程序,但是需要动态的传递参数(这里说的动态,是指根据上次子程序输入的结果来决定这次输入什么),怎么办呢,不用慌,有subprocess!

下文我先介绍一个例子代码,以及他的输出结果!

#!/usr/bin/python
from subprocess import *
# Subprocess management,可以做很多子进程的文件,我们要引入这个文件
p = Popen(["cat", "-n"], bufsize=1024,stdin=PIPE, 
stdout=PIPE, close_fds=True)
# 打开程序第一个参数是一个列表(程序名称,参数)
# 第二个参数是缓冲区大小
# stdin,stdout是设置是否打开这些管道,如果他的值是subprocess.PIPE的话,
# 就会打开,同stdin一样的还有stderr
# close_fds设置为true(unix-only)所有的文件描述符除了(0,1,2)在子程序执行前都会关闭
(fin, fout) = (p.stdin, p.stdout)
for i in range(10): # 你会懂的^_^ 
  fin.write("line" + str(i))
  fin.write('\n')
  fin.flush()
  print fout.readline()

他的输出结果是:

line0
line1
line2
line3
line4
line5
line6
line7
line8
line9

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
浅析Python中的for 循环
Jun 09 Python
Django URL传递参数的方法总结
Aug 28 Python
python的pip安装以及使用教程
Sep 18 Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 Python
python匿名函数用法实例分析
Aug 03 Python
python3 实现调用串口功能
Dec 26 Python
Python2和Python3中@abstractmethod使用方法
Feb 04 Python
Python使用monkey.patch_all()解决协程阻塞问题
Apr 15 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
 Python 中 logging 模块使用详情
Mar 03 Python
方法汇总:Python 安装第三方库常用
Apr 26 Python
python定时器(Timer)用法简单实例
Jun 04 #Python
python避免死锁方法实例分析
Jun 04 #Python
python中字符串前面加r的作用
Jun 04 #Python
python生成器generator用法实例分析
Jun 04 #Python
python函数装饰器用法实例详解
Jun 04 #Python
Python中函数的参数定义和可变参数用法实例分析
Jun 04 #Python
python类装饰器用法实例
Jun 04 #Python
You might like
nginx下安装php7+php5
2016/07/31 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
对Python 语音识别框架详解
2018/12/24 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
工作岗位说明书模板
2014/05/09 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
Python实现双向链表基本操作
2022/05/25 Python
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers