首页 文章

使用asyncio async和await运行python应用程序

提问于
浏览
0

我试图使用asyncio和关键字await / async与python 3.5我对python中的异步编程相当新 . 我对它的大部分经验都是使用NodeJS . 我似乎正在做正确的事情,除了调用我的启动函数来启动程序 .

下面是一些虚构的代码,可以解决我的困惑,因为我的代码库相当大,由几个本地模块组成 .

import asyncio

async def get_data():
    foo = await <retrieve some data>
    return foo

async def run():
    await get_data()

run()

但我接受了这个asyncio异常: runtimeWarning: coroutine 'run' was never awaited

我理解这个错误告诉我的是什么,但我很困惑我应该等待调用该函数以运行我的程序 .

1 回答

  • 3

    您应该手动创建事件循环并在其中运行协程,如documentation所示:

    import asyncio
    
    
    async def hello_world():
        print("Hello World!")
    
    
    loop = asyncio.get_event_loop()
    loop.run_until_complete(hello_world())
    loop.close()
    

相关问题