【问题标题】:Is there any GOTO ability in Jupyter notebook/lab or contrib extensions?Jupyter notebook/lab 或 contrib 扩展中是否有任何 GOTO 功能?
【发布时间】:2018-06-11 03:06:58
【问题描述】:
我有一个用于机器学习项目的 jupyter 笔记本。比如说,它有 20 个细胞。我想要自动化的是,运行前 19 个单元格,在最后一个单元格处更改一个全局变量,然后使用这个全局变量更改再次运行从 2 开始的所有单元格。
如果有某种 GOTO 功能,我可以在完成后告诉一个单元格转到另一个单元格,这将是完美的,但变通办法也很有用。
我试图避免的是:
- 在全局变量更改后复制所有单元格或
- 需要手动执行此操作,这样我就不能只选择“全部运行”
【问题讨论】:
标签:
jupyter-notebook
goto
【解决方案1】:
您可以通过在笔记本中运行一些 Javascript 以编程方式执行单元格。将以下内容放在笔记本的第 21 个单元格中:
%%javascript
// run the first 19 cells
var i;
for(i=0; i<19; i++) {
Jupyter.notebook.execute_cells([i]);
}
// set the global in the 20th cell:
Jupyter.notebook.execute_cells([19]);
// run 2nd through 19th cells again:
for(i=1; i<19; i++) {
Jupyter.notebook.execute_cells([i]);
}