python中管道用法入门实例

yipeiwu_com7年前Python基础

本文实例讲述了python中管道用法。分享给大家供大家参考。具体如下:

#!coding=utf-8
import multiprocessing
def consumer(pipe):
  output_p , input_p = pipe
  input_p.close() #关闭管道的输入端
  while True:
    try:
      item = output_p.recv()
    except EOFError:
      break
    print item
  print ("consumer done")
#生产项目并将其放到队列上
def producer(sequence, input_p):
  for item in sequence:
    input_p.send(item)
if __name__ == "__main__":
  #创建管道
  (output_p , input_p ) = multiprocessing.Pipe()
  #启动使用者进程
  cons_p = multiprocessing.Process(target=consumer, args=((output_p , input_p ),))
  cons_p.start()
  #关闭生产者中的输出管道
  output_p.close()
  #生产项目
  sequence = [1,2,3,4]
  producer(sequence, input_p)
  #关闭输入管道,表示完成
  input_p.close()
  #等待使用者进行关闭
  cons_p.join()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python读取csv文件示例(python操作csv)

复制代码 代码如下:import csvfor line in open("test.csv"):name,age,birthday = line.split(",")name = na...

pycharm运行出现ImportError:No module named的解决方法

pycharm运行出现ImportError:No module named的解决方法

今天用实验室的pycharm运行程序的时候发现出现了已安装的模块无法导入的情况,但实际上这个模块我已经在notebook中使用多次了,所以不可能是未安装模块的原因 查了一下原因,应该是...

详解python运行三种方式

方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。 linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口...

对python打乱数据集中X,y标签对的方法详解

对python打乱数据集中X,y标签对的方法详解

今天踩过的两个小坑: 一.用random的shuffle打乱数据集中的数据-标签对 index=[i for i in range(len(X_batch))] # print(ty...

用Cython加速Python到“起飞”(推荐)

用Cython加速Python到“起飞”(推荐)

事先声明,标题没有把“Python”错打成“Cython”,因为要讲的就是名为“Cython”的东西。 Cython是让Python脚本支持C语言扩展的编译器,Cython能够将Pyt...