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 相关文章推荐
python3.5实现socket通讯示例(TCP)
Feb 07 Python
Python装饰器用法实例总结
Feb 07 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
详解python数据结构和算法
Apr 18 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
Python装饰器使用你可能不知道的几种姿势
Oct 25 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
python线程定时器Timer实现原理解析
Nov 30 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
Python ellipsis 的用法详解
Nov 20 Python
Python first-order-model实现让照片动起来
Jun 25 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
PHP获取QQ达人QQ信息的方法
2015/03/05 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
PHP多态代码实例
2015/06/26 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
基于jQuery选择器的整理集合
2013/04/26 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
Python多线程编程简单介绍
2015/04/13 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python输出带颜色的字符串实例
2017/10/10 Python
python之super的使用小结
2018/08/13 Python
Python中常用的内置方法
2019/01/28 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
自荐书封面下载
2013/11/29 职场文书
后勤主管工作职责
2013/12/07 职场文书
消防标语大全
2014/06/07 职场文书
安全生产年活动总结
2014/08/29 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
goland 设置project gopath的操作
2021/05/06 Golang
Python代码风格与编程习惯重要吗?
2021/06/03 Python
Python机器学习之底层实现KNN
2021/06/20 Python