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之玩转字符串(2)更新篇
Sep 28 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
python将秒数转化为时间格式的实例
Sep 16 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
python实现回旋矩阵方式(旋转矩阵)
Dec 04 Python
Python安装与卸载流程详细步骤(图解)
Feb 20 Python
TensorFlow打印输出tensor的值
Apr 19 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
用python发送微信消息
Dec 21 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 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
4.与数据库的连接
2006/10/09 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
python学习之编写查询ip程序
2016/02/27 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
公司培训欢迎词
2014/01/10 职场文书
办理居住证介绍信
2014/01/15 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
八月一日观后感
2015/06/10 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python
使用tensorflow 实现反向传播求导
2021/05/26 Python
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python