在Jupyter Notebook中恢复命令历史记录?

mgo*_*ser 7 python ipython python-3.x jupyter jupyter-notebook

我过去一周一直在编辑一个Jupyter笔记本,并试着今天保存它.在尝试保存它时,我收到了一个错误,所以我刷新了页面并成功保存了它.

但令我沮丧的是,几乎所有的命令历史都丢失了!我仍然可以访问变量(内核永远不会死),但我无法访问任何代码.

有没有办法恢复代码?内核仍在运行,但我的笔记本中没有看到任何检查点.

Jam*_*mes 15

您可以获取IPython历史记录,Jupyter Notebook将其用作其内核.在其中一个单元格中运行:

%history
Run Code Online (Sandbox Code Playgroud)

这将转储您在当前IPython会话中运行的每个命令的历史记录(好的,坏的和丑的).这可能比你想要的更多,但它比失去你所有的工作更好.


小智 10

类似的事情发生在我身上,我无法保存我所做的事情,刷新了页面,并丢失了我所有的命令。

您可以通过运行获取整个笔记本历史记录并将输出重定向到任何给定文件

%history -g -f filename
Run Code Online (Sandbox Code Playgroud)

就我而言,我将其重定向到 (.py) 文件。您可以在https://ipython.readthedocs.io/en/stable/interactive/magics.html在“%history”下找到更多文档。

  • 我只是想补充一下,当 TonyV 说“整个”笔记本历史时,他的意思确实是“整个”笔记本历史。我刚刚这样做了,“%history -g -f filename”生成了一个包含数百万行的文件,我什至可以在其中找到我编写的 python 的前几行。这太棒了,这个答案需要更多的支持。 (3认同)