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封装对象实现时间效果
Apr 23 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
Python中http请求方法库汇总
Jan 06 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
Oct 25 Python
Python hashlib模块加密过程解析
Nov 05 Python
python 类之间的参数传递方式
Dec 20 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
TensorFlow的环境配置与安装方法
Feb 20 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 翻页 实例代码
2009/08/07 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
php读取csc文件并输出
2015/05/21 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
php代码架构的八点注意事项
2016/01/25 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python单链表简单实现代码
2016/04/27 Python
python生成excel的实例代码
2017/11/08 Python
python 识别图片中的文字信息方法
2018/05/10 Python
python中reader的next用法
2018/07/24 Python
把pandas转换int型为str型的方法
2019/01/29 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python 从attribute到property详解
2020/03/05 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
软件测试常见笔试题
2012/02/04 面试题
驾驶员安全责任书范本
2014/07/24 职场文书
国家机关领导干部民主生活会对照检查材料思想汇报
2014/09/17 职场文书
2015年端午节活动方案
2015/05/05 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技