RuntimeError: asyncio.run() cannot be called from a running event loop

学习协程异步操作出现的问题

import asyncio
import time
async def func_4():
    print("营养快线")
    # time.sleep(3) 
    # print("娃哈哈")

if __name__=='__main__':
    g = func_4() # 此时的函数是异步协程函数,此时函数执行得到一个协程对象
    asyncio.run(g)

代码报错:
RuntimeError: asyncio.run() cannot be called from a running event loop
意思大致就是jupyter 已经运行了loop,无需自己激活
修改为

import asyncio
import time
async def func_4():
    print("营养快线")
    # time.sleep(3) 
    # print("娃哈哈")

if __name__=='__main__':
    g = func_4() # 此时的函数是异步协程函数,此时函数执行得到一个协程对象
    #asyncio.run(g)
    await g

你可能感兴趣的:(爬虫,python)