python - 如何在不删除python asyncio.Queue()中的项目的情况下获取元素
问题描述
该asyncio.Queue
get()
方法将从队列中删除并返回一个项目。
但我只想阅读该项目,而不是删除它。我怎么做?
queue = asyncio.Queue()
result = await queue.get()
在这里,我只想知道结果的值,但不想将其从队列中删除。
解决方案
你可以试试这个,虽然它有点小技巧,并且可能不适用于所有 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
推荐阅读
- teradata - 如何在 Teradata 中使用合并处理空时间戳
- javascript - 有什么方法可以使用 node.js 在我的 Kubernetes 应用程序中选举领导者?
- npm - 在 K6 测试中捆绑 npm 模块“cheerio”
- opencv - opencv 和 PIL 的差异影响模型预测
- java - javac中-source的使用
- jquery - 显示两个div,一个接一个,然后调用另一个页面
- javascript - 比较 JavaScript 中的两个日期(字符串)不起作用
- sonarqube - 使用 Sonarqube 时如何绕过 SSL 验证
- sql - Azure Databricks BulkMoveToSql 日期/时间转换问题
- javascript - 如何修改动态生成的嵌套对象数组中的键值对