【发布时间】:2016-11-28 09:11:24
【问题描述】:
Clear all items from the queue
我看了上面的答案
我正在使用 python 2.7
import Queue
pq = Queue.PriorityQueue()
pq.clear()
我收到以下错误:
AttributeError: PriorityQueue instance has no attribute 'clear'
有没有办法轻松清空优先队列而不是手动弹出所有项目?还是会重新实例化工作(即它不会与 join() 混淆)?
【问题讨论】:
-
链接的答案建议使用
pg.queue.clear()。 -
pq.queue.clear() AttributeError: 'list' object has no attribute 'clear'
-
@Evert 仍然错误
-
.queue没有记录在Queue()中,所以我怀疑这有点像 hack,并且(显然)不能依赖。请参阅 Kristof 的回答。 -
您确定需要使用
Queue模块吗?它不是通用的数据结构,而是专门用于线程之间的同步通信。如果您不需要同步而只需要一个通用的 LIFO 队列,请使用collections.deque。对于不同步的优先级队列,使用list和heapq模块中的函数。
标签: python python-2.7 priority-queue