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中使用PIPE操作Linux管道
Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等.其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式.管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写:另外,管道只能用来在具有公共祖先的两个进程之间通信.管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要. Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别为读端和写端.单个进程中的管道几乎没有
-
Python multiprocessing模块中的Pipe管道使用实例
multiprocessing.Pipe([duplex]) 返回2个连接对象(conn1, conn2),代表管道的两端,默认是双向通信.如果duplex=False,conn1只能用来接收消息,conn2只能用来发送消息.不同于os.open之处在于os.pipe()返回2个文件描述符(r, w),表示可读的和可写的 实例如下: 复制代码 代码如下: #!/usr/bin/python #coding=utf-8 import os from multiprocessing import P
-
Python进程通信之匿名管道实例讲解
匿名管道 管道是一个单向通道,有点类似共享内存缓存.管道有两端,包括输入端和输出端.对于一个进程的而言,它只能看到管道一端,即要么是输入端要么是输出端. os.pipe()返回2个文件描述符(r, w),表示可读的和可写的.示例代码如下: 复制代码 代码如下: #!/usr/bin/python import time import os def child(wpipe): print('hello from child', os.getpid()) while True:
-
Python实现处理管道的方法
本文实例讲述了Python实现处理管道的方法.分享给大家供大家参考.具体分析如下: Linux下的可以施展的最炫的魔法是什么?相信不同的人说法不同,但是如果没有管道,那么恐怕在绚丽魔法的都会失去魔力 这里就介绍怎么使用Python来处理这些管道 管道调用子程序 我们想在程序中使用一个子程序,但是需要动态的传递参数(这里说的动态,是指根据上次子程序输入的结果来决定这次输入什么),怎么办呢,不用慌,有subprocess! 下文我先介绍一个例子代码,以及他的输出结果! #!/usr/bin/pyth
-
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") #
-
Python中操作MySQL入门实例
一.安装MySQL-python 复制代码 代码如下: # yum install -y MySQL-python 二.打开数据库连接 复制代码 代码如下: #!/usr/bin/python import MySQLdb conn = MySQLdb.connect(user='root',passwd='admin',host='127.0.0.1') conn.select_db('test') cur = conn.cursor() 三.操作数据库 复制代码 代码如下: def inse
-
python中反射用法实例
本文实例讲述了python中反射用法.分享给大家供大家参考.具体如下: import sys, types,new def _get_mod(modulePath): try: aMod = sys.modules[modulePath] if not isinstance(aMod, types.ModuleType): raise KeyError except KeyError: # The last [''] is very important! aMod = __import__(mo
-
python中assert用法实例分析
本文实例讲述了python中assert用法.分享给大家供大家参考.具体分析如下: 1.assert语句用来声明某个条件是真的. 2.如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句. 3.当assert语句失败的时候,会引发一AssertionError. 测试程序: >>> mylist = ['item'] >>> assert len(mylist) >=
-
python中尾递归用法实例详解
本文实例讲述了python中尾递归用法.分享给大家供大家参考.具体分析如下: 如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的.当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归.尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码. 原理: 当编译器检测到一个函数调用是尾递归的时候,它就覆盖当前的活跃记录而不是在栈中去创建一个新的.编译器可以做到这点,因
-
python中global用法实例分析
本文实例讲述了python中global用法.分享给大家供大家参考.具体分析如下: 1.global---将变量定义为全局变量.可以通过定义为全局变量,实现在函数内部改变变量值. 2.一个global语句可以同时定义多个变量,如 global x, y, z 示例程序: >>> def func(): ... global x ... print 'x is ', x ... x = 2 ... print 'Change local x to ', x ... >>>
-
python中as用法实例分析
本文实例讲述了python中as用法.分享给大家供大家参考.具体分析如下: import some # some 为一个模组 如果想要改变被导入模组在当前模组中的名称,而不是sys.modules中的名称.可以使用import as,例如: import some as other print(other.name) 和 import some other = some del some print(other.name) 一样. 希望本文所述对大家的Python程序设计有所帮助.
-
python中altair可视化库实例用法
作为六大python可视化库,基本上学会都是可以通吃任何领域的存在,本章要给大家介绍的Altair就是其中之一的可视化库,能够将数据转化为非常直观的图片,让我们更加清晰的认知数据之前直观的联系,俨然已经成为可视化库中的新星,好啦,下面就让我们详细了解下这个荣获众多粉丝的可视化库的使用技巧吧. 安装Altair: 依赖JupyterLab $ pip install -U altair vega_datasets jupyterlab 导入Altair: import altair as alt
-
python中time tzset()函数实例用法
在时间的设置方面,为了能够跟系统时间有更好的区分,我们有时会借用一些函数方法来实现.就拿tzset()来说是设置时间的一种方法,其内在的变量依靠TZ的控制,如果没有设置TZ则以系统时间为准.接下来我们简单就time tzset().TZ进行说明,并对函数的语法.参数.返回值.实例带来使用介绍. 1.说明 tzset()主要用于设置时间变量,它通过获取TZ环境变量初始化tzname变量,在类System-V系统中,它同时设置timezone(相对UTC以西的秒数,向西为正,向东为负)和daylig
-
Python中os模块的实例用法
1.说明 os.path.exists():用于判断某个路径(文件或文件夹)是否存在,若存在则返回True,若不存在则返回False. os.makedirs():用于创建文件夹.传入所欲创建的文件夹的路径即可,没有返回值.值得一提的是,这个函数可以实现目录的递归创建,也就是说如果所传入的路径中,倒数第二级的目录也不存在,那么就会先创建该级目录,然后在在目录下创建所欲创建的目录,依此类推. os.path.basename():传入一个文件的路径,返回该文件的文件名. os.path.dirna
随机推荐
- 图文结合讲解Java单例模式
- python查看FTP是否能连接成功的方法
- Python中让MySQL查询结果返回字典类型的方法
- Tensorflow简单验证码识别应用
- Android下拉刷新官方版
- 深入解析MySQL的事务隔离及其对性能产生的影响
- python使用sorted函数对列表进行排序的方法
- XML入门问答
- Javascript延迟执行实现方法(setTimeout)
- 获取shell脚本自身所在目录的Shell脚本分享
- jQuery获取文本节点之 text()/val()/html() 方法区别
- Android应用中设置alpha值来制作透明与渐变效果的实例
- 关于textarea的直观换行的一些研究材料
- JavaScript数据结构之广义表的定义与表示方法详解
- C#简单读取、改变文件的创建、修改及访问时间的方法
- 使用策略模式实现报警服务示例详解(短信报警)
- Android 类似UC浏览器的效果:向上滑动地址栏隐藏功能
- Android 利用三阶贝塞尔曲线绘制运动轨迹的示例
- Android仿微信图片选择器ImageSelector使用详解
- .Net防sql注入的几种方法