在 Python 中打印队列的内容

新手上路,请多包涵

如果我使用 python 模块 queue.Queue,我希望能够使用不弹出原始队列或创建新队列对象的方法打印出内容。

我曾尝试研究获取然后将内容放回原处,但这成本太高。

 # Ideally it would look like the following
from queue import Queue
q = Queue()
q.print()
q.put(1)
q.print()

>> [] # Or something like this
>> [1] # Or something like this

原文由 Interlooper 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
2 个回答
>>> print(list(q.queue))

这对你有用吗?

原文由 Aviral Verma 发布,翻译遵循 CC BY-SA 4.0 许可协议

假设您使用的是 python 2。您可以使用这样的东西:

 from queue import Queue
q = Queue.Queue()
q.put(1)
q.put(2)
q.put(3)
print q.queue

你也可以循环它:

 for q_item in q.queue:
    print q_item

但是除非你正在处理线程,否则我会使用普通列表作为 Queue 实现。

原文由 Paulo Cirino 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题