如何使 Jupyter Lab 保存笔记本(以编程方式)

cha*_*uss 9 python jupyter jupyter-notebook jupyter-lab

我有一个可以过夜运行的笔记本,可以打印出一堆东西,包括图像等。我想以编程方式保存此输出(可能以一定的时间间隔)。我还想保存运行的代码。在 Jupyter 笔记本中,您可以执行以下操作:

from IPython.display import display, Javascript
display(Javascript('IPython.notebook.save_checkpoint();'))
# causes the current .ipynb file to save itself (same as hitting CTRL+s)
Run Code Online (Sandbox Code Playgroud)

(来自以编程方式从其内部保存 IPython 笔记本?

虽然,我发现这个 javascript 注入在 Jupyter 实验室中不起作用(Jupyter 未找到)。我的问题是如何在 Jupyter 实验室中执行与上述代码等效的操作。在检查 jupyter 实验室的 HTML 后,我找不到 Jupyter 对象。

kra*_*ski 10

您可以使用ipylab从 Python 访问 JupyterLab API。要保存笔记本,只需调用以下docmanager:save命令:

from ipylab import JupyterFrontEnd

app = JupyterFrontEnd()
app.commands.execute('docmanager:save')
Run Code Online (Sandbox Code Playgroud)

您可以使用 获取命令的完整列表app.commands.list_commands()