出现这个错误信息的来源
- 用 asyncio.run()方法执行任务时,有时候会出现这样的错误
- 虽然代码执行没有问题,但是报错总感觉不爽
解决办法:
1.解决办法一:
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(task_list))
2.解决办法二,重写父类的方法,代码示例:
from functools import wraps
from asyncio.proactor_events import _ProactorBasePipeTransport
def silence_event_loop_closed(func):
@wraps(func)
def wrapper(self, *args, **kwargs):
try:
return func(self, *args, **kwargs)
except RuntimeError as e:
if str(e) != 'Event loop is closed':
raise
return wrapper
_ProactorBasePipeTransport.__del__ = silence_event_loop_closed(_ProactorBasePipeTransport.__del__)