在 Jupyter 笔记本中,如果单元格中发生错误,则自动运行另一个包含 print 语句的单元格

In Jupyter notebook, if an error occurs in a cell, automatically run another cell containing a print statement

提问人:Steve..Johnson 提问时间:11/11/2023 更新时间:11/11/2023 访问量:34

问:

在 Jupyter 笔记本中,当我们“运行所有单元格”时,如果发生错误(例如,可能是零除法错误,或者数据帧不存在),笔记本将停止,并且可能不明显地发生了这种情况。此错误可能发生在多个单元格中。

如果确实发生错误,有没有办法在笔记本的下方自动运行一个特定的单元格(例如单元格 20),其中包含一个 print 语句,例如 print('error occurred')?

python pandas jupyter-notebook

评论

0赞 Wayne 11/12/2023
"...这可能并不明显。不遵循这个。您具体要解决哪个版本的 Jupyter?现代 Jupyter Notebook 7+ 和 JupyterLab 在左上角有一个关于运行单元状态的指示器。圆圈填充会滴答作响,以直观地反馈有关执行“全部运行”时已运行的单元格百分比的反馈。例如,当 3/4 的单元格完成时,圆圈将填满 75%,只剩下四分之一。至于在遇到错误时执行默认操作,...
0赞 Wayne 11/12/2023
<续>我认为指定所涉及的 Jupyter 技术版本也会有所帮助。你看到这里了吗?您可以自定义内容,如果这在 Jupyter Notebook 7+ 或 JupyterLab 中不起作用,请将其作为特定问题提出。另一件需要考虑的事情是,笔记本电脑并不适合所有编程应用程序。特别是,许多人发现长时间运行的计算是在命令行上运行的传统方法,并且以后使用屏幕(或类似工具)分离和重新附加会更好。
0赞 Wayne 11/12/2023
至于不明显的事情,我还应该指出,JupyterLab在左下角也有一个状态监视器,就内存使用和其他细节而言。在你点击“全部运行”后,这种状态也会发生变化,这也会让你了解事情的进展情况。
0赞 Wayne 11/12/2023
我只是想突出显示我在这里链接到的相关答案中的标签。我现在看到它在 JupyterLab 4.0.6 和 Jupyter Notebook 7.0.4 中运行良好。不过,我要说的是,一旦遇到第一个异常,每个单元格的执行括号中的星号就会停止显示在未运行的单元格中;但是,异常之后的单元格将继续运行,即使每个单元格右侧括号中的内容是明确的!然后,在完成每个单元格后,执行编号将正确显示。raises-exception
0赞 Wayne 11/12/2023
我在这里添加了一个笔记本来测试标签。第二个单元格当前具有标记。因为那个标签。您将看到“全部运行”,即使在单元格 #2 中出现除以零错误后,其他单元格仍将继续运行。raises-exception

答: 暂无答案