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 获取et和excel的版本号
Apr 09 Python
Python写的一个简单DNS服务器实例
Jun 04 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
python之DataFrame实现excel合并单元格
Feb 22 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
Python3使用PySynth制作音乐的方法
Sep 09 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
详解用Python进行时间序列预测的7种方法
Mar 13 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
基于mysql的bbs设计(四)
2006/10/09 PHP
php操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
php eval函数用法总结
2012/10/31 PHP
解析PHP的session过期设置
2013/06/29 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
[02:08]DOTA2英雄基础教程 马格纳斯
2014/01/17 DOTA
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
如何使用python切换hosts文件
2020/04/29 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
经贸日语毕业生自荐信
2013/11/03 职场文书
政法大学毕业生自荐信范文
2014/01/01 职场文书
部队万能检讨书
2014/02/20 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫