【发布时间】:2020-03-05 08:31:35
【问题描述】:
我想跳过以编程方式在 jupyter notebook 的单元格中执行一些代码,而不将所有内容包装在 if-else 块中。
到目前为止,我从这个 SO 问题中找到的最接近的解决方案:https://stackoverflow.com/a/56953105/3124206 是这样的:
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()不执行,而是笔记本执行整体进行。
【问题讨论】:
-
我最近才发现 jupyter notebook,所以我可能并不完全清楚它可以做什么。是否有特定原因您不能将单元格内容放入函数中并调用它?在这种情况下,您可以像往常一样从函数中
return。 -
@CGundlach 你可以,但是有很多单元格很丑
-
@pgcudahy:谢谢,这更接近了。不幸的是,它只适用于单元格的顶部,你是否看到了从它的中间返回的方法(同时保留当前的输出)?
-
您能否提供一个您正在运行的代码示例以及您希望它在哪里停止?
标签: python jupyter-notebook jupyter