该
asyncio.run()文件说:
当另一个异步事件循环在同一线程中运行时,无法调用此函数。
你的情况的问题是,jupyter(IPython中)已经运行的事件循环(对于IPython的≥7.0):
现在,您可以在IPython终端和笔记本中的顶层使用async /
await,在大多数情况下,它应该“正常工作”。将IPython更新到版本7+,将IPykernel更新到版本5+,您就可以开始比赛了。
这就是为什么您不需要在jupyter中自己启动事件循环,
await main(url)甚至可以在外部异步函数中直接调用的原因。
在朱庇特
async def main(): print(1)await main()
在纯Python(≥3.7)中
import asyncioasync def main(): print(1)asyncio.run(main())
在您的代码中将给出:
url = ['url1', 'url2']result = await main(url)for text in result: pass # text contains your html (text) response
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)