python queue模块队列入门例子

发布时间:2020-04-04编辑:脚本学堂
分享一个python queue模块的入门实例,python中使用queue模块操作队列,可用于创建先进先出、后进后出的队列,具体操作详见文中的实例教程。

python queue模块队列操作入门

在python编程中,queue模块一般用于和多线程配合:
1、先进先出  q = queue.queue(maxsize)
2、后进先出  a = queue.lifoqueue(maxsize)

优先级  queue.priorityqueue(maxsize)
queue.qsize() 返回队列的大小
queue.empty() 如果队列为空,返回true,反之false
queue.full() 如果队列满了,返回true,反之false
queue.full 与 maxsize 大小对应
queue.get([block[, timeout]]) 获取队列,timeout等待时间
queue.get_nowait() 相当queue.get(false)
非阻塞 queue.put(item) 写入队列,timeout等待时间
queue.put_nowait(item) 相当queue.put(item, false)
queue.task_done() 在完成一项工作之后,函数向任务已经完成的队列发送一个信号
queue.join(): 实际上意味着等到队列为空,再执行别的操作

例子,python queue模块实例代码。
 

复制代码 代码示例:

#!/usr/bin/env python
#-*-coding:utf-8-*-

import Queue

#创建一个队列(容器)先进先出,设置容器大小为6 只能添加6个数据或者元素
q = Queue.Queue(6)

#创建一个队列(容器),先进后出,后进先出
a = Queue.LifoQueue()

#print q.empty()
for i in range(5):
    q.put(i)       #put添加进这个队列
q.put((1, 2, 3))
print q.full()
while not q.empty():  #队列不为空就开始循环
    print q.get(),  #get 从另外一端删除

print
for i in range(5):
    a.put(i) #向a队列添加数据
print a.get(0),  #a是后进先出

运行结果:
 

>>> True
0 1 2 3 4 (1, 2, 3)
4