Блокнот jupyter: как программно остановить выполнение ячеек при продолжении работы последующих ячеек - PullRequest
2 голосов
/ 05 марта 2020

Я хотел бы пропустить выполнение некоторого кода в ячейках блокнота Jupyter программно, не оборачивая все в блоки if-else.

Ближайшее решение, которое я нашел так далеко от этого вопроса SO: { ссылка } это:

class StopExecution(Exception):
    def _render_traceback_(self):
        pass

raise StopExecution

Однако, он останавливает выполнение как текущей ячейки, так и всех последующих, в то время как я хочу только ранний выход из текущей ячейки. Есть ли способ продолжить выполнение других ячеек?

Вот пример кода:

if skip_page:
    display(HTML('<!--SKIP-PAGE-->'))
    stop_cell()

render_some_output()

В случае вызова stop_cell() я бы хотел, чтобы render_some_output() не выполнялся, но исполнение ноутбука, чтобы продолжить в целом.

1 Ответ

0 голосов
/ 05 марта 2020

Я знаю, что вы не хотите использовать много операторов if else, но я думаю, что самое простое решение состоит в том, чтобы иметь одну ячейку с global_run_flag = False, а затем перед каждым необязательным блоком кода, просто предварять его if not global_run_flag: если вы установите global_run_flag в True, он пропустит выполнение всех блоков свернутого кода.

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