不小心删除Jupyter Notebook单元格且无法回退,如何恢复?
找回Jupyter Notebook中误删且无法撤销的单元格
别慌!这种手滑的情况我自己也遇到过好几次,给你几个实用的解决方案:
方法1:用Jupyter自带的 checkpoint 恢复
这是最直接的办法,Jupyter默认会自动创建备份 checkpoint:
- 打开你的笔记本,点击顶部菜单栏的 File
- 选择 Revert to Checkpoint 选项,里面会列出最近的几个备份版本
- 选择一个在你删除单元格之前的版本,就能恢复到那个状态了
方法2:手动查找备份文件
如果上面的菜单选项找不到合适的备份,你可以直接去文件夹里找:
- 找到你当前.ipynb文件所在的目录
- 查看是否有一个名为
.ipynb_checkpoints的隐藏文件夹(Windows需要开启「显示隐藏项目」,Mac/Linux用终端输入ls -a就能看到) - 打开文件夹里的备份文件(文件名一般是「你的笔记本名_checkpoint.ipynb」),里面大概率保留着你删除的单元格内容,复制粘贴回原笔记本即可
方法3:从命令历史找回代码(仅适用于代码单元格)
如果误删的是代码单元格,还可以通过历史命令找回:
- 在你的笔记本里新建一个空白单元格
- 输入魔法命令
%history并运行,会显示你之前在这个笔记本里运行过的所有代码 - 从历史记录里找到你需要的代码片段,重新整理即可
小提醒
以后记得多按 Ctrl+S 手动保存,或者在Jupyter的设置里调整自动保存的频率,减少这种意外的损失!
内容的提问来源于stack exchange,提问作者HISI




