gpt4 book ai didi

python3 - 从异步方法获取结果

转载 作者:太空狗 更新时间:2023-10-29 21:25:33 26 4
gpt4 key购买 nike

我是 Python 新手。我已经使用 asyncio 编写了一个简单的报废程序。这是我的代码片段

 loop = asyncio.get_event_loop()
task = loop.create_task(conSpi.parse(arguments.url))
value = loop.run_until_complete(asyncio.wait([task]))
loop.close()

我想打印以值形式返回的结果。而不是打印变量的值,它打印这样的东西

 {<Task finished coro=<ConcurrentSpider.parse() done, 
defined at /home/afraz/PycharmProjects/the-lab/concurrentspider.py:28> result=3>}

`

如何只得到结果而不打印rest?

最佳答案

最简单的方法就是写

value = loop.run_until_complete(task)

只有当你想等待一个任务时才有效。如果您需要多个任务,则需要正确使用 asyncio.wait。它返回一个包含已完成和未决 future 的元组。不过默认情况下,挂起的 future 将是空的,因为它等待所有 future 完成。

有点像

done, pending = loop.run_until_complete(asyncio.wait( tasks))
for future in done:
value = future.result() #may raise an exception if coroutine failed
# do something with value

关于python3 - 从异步方法获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44048536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com