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

标签 python python-asyncio

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

如果我从 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() 仍将返回该闭环。

如果我不小心关闭了一个事件循环,我该怎么办?我宁愿不重启解释器。

最佳答案

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

asyncio.set_event_loop(asyncio.new_event_loop())

关于python - 如何替换关闭的事件循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35021287/

相关文章:

python - 如何使用 websocket 库消除此错误?

python - 一个简单的Python部署问题-痛苦的世界

python - 将小函数转换为协程

python - 当多处理进程打开另一个进程时程序在调试中挂起

python - Twitter 身份验证在 Twython 2.3.4 上失败,错误为 : 401, 无法验证 oauth 签名和 token

python - 在 app.on_event ('startup' 中连接到数据库与在 FastAPI 中的依赖项之间的区别

Python create_task 在运行事件循环中不起作用

Python 3.10 asyncio.gather() 显示 DeprecationWarning : There is no current event loop

python - Apache Spark Python 与 DataFrames 的余弦相似度

python - 如何正确地将对数比例图与背景图像结合起来?