Выполнить код, если ядро ​​прервано (Python в записной книжке Jupyter) - PullRequest
1 голос
/ 05 февраля 2020

Я запускаю функцию в записной книжке Jupyter, и я хотел бы знать, возможно ли выполнить немного кода, если пользователь прерывает ядро.

Например, если у вас есть эта функция:

import time
def time_sleep():
    time.sleep(5)
    print('hello')

Могу ли я добавить print('cell terminated'), который запускается, если ячейка прервана?

1 Ответ

3 голосов
/ 05 февраля 2020

Прерывания от клавиатуры (ctrl + c) проявляются как KeyboardInterrupt исключения, поэтому

try: 
    time.sleep(5)
    print('That was a nice nap.')
except KeyboardInterrupt:
    print('What a rude awakening!')

работает, если Jupyter отправляет ядру реальный сигнал прерывания (и, очевидно, это так!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...