【问题标题】:How to get element without removing the item in python asyncio.Queue()如何在不删除python asyncio.Queue()中的项目的情况下获取元素
【发布时间】:2021-10-12 08:51:51
【问题描述】:

asyncio.Queueget() 方法将从队列中移除并返回一个项目。

但我只想阅读该项目,而不是删除它。我该怎么做?

queue = asyncio.Queue()
result = await queue.get()

这里我只想知道结果的值,但不想从队列中删除它。

【问题讨论】:

  • 恐怕这是不可能的。您不能将结果保存到列表中以备后用吗?

标签: python python-3.x python-asyncio


【解决方案1】:

你可以试试这个,虽然它有点小技巧,而且可能不适用于所有 Python 版本。它确实在 3.9.6 中工作,尽管它可能不是线程安全的:-

import queue

TQ = queue.Queue()

TQ.put(99)
TQ.put(100)

for q in TQ.__dict__['queue']:
    print(q)

这将发出值 99 和 100

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    相关资源
    最近更新 更多