如何替换已关闭的事件循环?

时间:2016-01-26 18:37:13

标签: python python-asyncio

我主要在IPython的交互式shell中工作。有时我会从互联网上复制粘贴代码来测试它并使用示例。

如果我从this tutorial粘贴以下代码:

import asyncio

async def speak_async():  
    print('OMG asynchronicity!')

loop = asyncio.get_event_loop()  
loop.run_until_complete(speak_async())  
loop.close()  

我将关闭循环。 documentation表示在事件循环关闭后不使用任何方法。并且async.get_event_loop()仍将返回该闭环。

如果我意外关闭事件循环该怎么办?我宁愿不重启解释器。

1 个答案:

答案 0 :(得分:11)

你可以create and set a new event loop for the current context;

asyncio.set_event_loop(asyncio.new_event_loop())