Я работаю в основном в интерактивной оболочке IPython. Иногда я копирую-вставляю код из Интернета, чтобы проверить его и работать с примерами.Как заменить замкнутый цикл событий?
Если я вставьте следующий код из 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()
все равно вернет этот замкнутый цикл.
Что делать, если случайно закрыл цикл событий? Я бы предпочел не перезапускать интерпретатор.
это хорошая идея;) – brunsgaard
Должен ли я установить его, или я могу использовать его напрямую? Я полагаю, что есть какая-то магия, которая заставляет меня хотеть ее установить. – leewz
@leewangzhong После того, как вы установите его, следующий вызов 'asyncio.get_event_loop()' будет возвращать новый цикл, и ваш код снова будет работать без выхода из интерпретатора. –