将asyncio.run(get_url(main()))
改为asyncio.get_event_loop().run_until_complete(main())
总结来说就是aiohttp 内部使用了 _ProactorBasePipeTransport ,程序退出释放内存时自动调用其 _ProactorBasePipeTransport.__del__方法导致二次关闭事件循环。一般的协程程序是不会使用_ProactorBasePipeTransport 的,所以asyncio.run() 还是可以正常运行。而且这种情况仅在Windows上发生。只是会报错但是依然能执行程序。
RuntimeError: Event loop is closed,py3.8协程问题报错解决方法
最新推荐文章于 2023-05-20 14:43:57 发布