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 相关文章推荐
在RedHat系Linux上部署Python的Celery框架的教程
Apr 07 Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
在python中bool函数的取值方法
Nov 01 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
Python接口开发实现步骤详解
Apr 26 Python
实例代码讲解Python 线程池
Aug 24 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php查询mssql出现乱码的解决方法
2014/12/29 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
Jquery replace 字符替换实现代码
2010/12/02 Javascript
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
Vue2.0生命周期的理解
2018/08/20 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
python正则表达式之对号入座篇
2018/07/24 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
实习生的自我评价
2014/01/08 职场文书
初中地理教学反思
2014/01/11 职场文书
新闻传播专业求职信
2014/07/22 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
国王的演讲观后感
2015/06/03 职场文书
早安问候语大全
2015/11/10 职场文书
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js