【发布时间】:2023-02-21 22:55:29
【问题描述】:
我正在尝试使用 Python 3.11 中的新 TaskGroup 对象来返回列表,但我正在努力寻找正确的语法。这个新功能还没有太多示例代码,所以我想我会问。
import asyncio
async def squares(nums):
return await [n**2 for n in nums]
async def squares_tasks(nums1, nums2):
async with asyncio.TaskGroup as tg:
squares1 = tg.create_task(squares(nums1))
squares2 = tg.create_task(squares(nums2))
return squares1, squares2
nums1, nums2 = [1, 2, 3], [4, 5, 6]
squares1, squares2 = asyncio.run(squares_tasks(nums1, nums2))
这会引发以下错误:
TypeError: 'type' object does not support the context manager protocol
对于我做错了什么,我将不胜感激,谢谢。
【问题讨论】:
标签: python async-await python-asyncio python-3.11