“属性错误:module 'asyncio' has no attribute 'coroutine'.”in Python 3.11.0

zd287kbt  于 2023-05-30  发布在  Python
关注(0)|答案(1)|浏览(1138)

当我在Python 3.11.0上使用**@asyncio.coroutine装饰器**运行以下代码时:

import asyncio

@asyncio.coroutine # Here
def test():
    print("Test")

asyncio.run(test())

我得到了下面的错误:
属性错误:模块“asyncio”没有属性“coroutine”。你的意思是:协同程序?
我发现**@asyncio.coroutine装饰器**被用于一些代码,据我谷歌。
那么,如何解决这个错误呢?

xkrw2x1b

xkrw2x1b1#

基于生成器的协程包含**@asyncio.coroutine decorator**,由于Python 3.11被删除,因此**asyncio模块没有@asyncio.coroutine decorator**,如错误所示:

注意:对基于生成器的协程的支持已被弃用,并在Python 3.11中被删除。
因此,您需要在def之前使用**async关键字**,如下所示:

import asyncio

# Here
async def test():
    print("Test")

asyncio.run(test()) # Test

然后,您可以解决错误:

Test

相关问题