首页 > 解决方案 > VSCode Jupyter Notebook - 恢复缓存版本

问题描述

我正在使用在 Ubuntu 19.10 上运行的 VSCode (v 1.48.0) 创建一个 Jupyter Notebook。VSCode 崩溃了,不幸的是我没有保存笔记本,当我重新启动它时它是空的。

我已经能够在 ~/.config/Code/User/globalStorage/ms-python.python 的一个名为 527ed533.ipynb 的文件中找到看起来像笔记本缓存版本的内容。文件外观的小样本

查看文件的内容,我可以看出这是我正在处理的笔记本,但格式看起来有点乱码,

当我尝试在 VSCode 中打开文件备份时,它只会将其识别为文本。我也尝试在 Jupyter 服务器上打开它,但它也无法将其识别为有效的笔记本。

我尝试对数据进行一些手动编辑,主要是删除“单元格”以外的所有内容,但这并不成功。

有什么办法可以从这个文件中取回笔记本吗?

标签: pythonvisual-studio-codejupyter-notebookjupyter

解决方案


我也碰到了这个问题。我使用这个脚本恢复了源代码

import json
with open('b1d10574.ipynb', 'r') as f1, open('example.py', 'w') as f2:
    data = json.loads(json.load(f1)['contents'])
    for cell in data['cells']:
         f2.write("# %%\n")
         for line in cell['source']:
             f2.write(line) 
         f2.write("\n")

在此处输入图像描述


推荐阅读