Jupyter打开特定iPython Notebook崩溃,如何提取其中代码?
解决Jupyter Notebook崩溃无法打开时提取代码的方案
以下是几种可行的代码提取方案:
1. 直接以文本模式读取.ipynb文件
.ipynb本质是JSON格式的文本文件,无需通过Jupyter打开即可提取代码:
- 用任意文本编辑器(VS Code、Notepad++、系统记事本等)打开目标.ipynb文件
- 定位到文件中的
"cells"数组,每个子对象对应一个Notebook单元格 - 筛选
"cell_type": "code"的对象,提取其"source"字段下的内容,就是所需的代码块 - 复制这些代码到新Notebook或.py文件中即可
2. 使用nbconvert命令行批量提取代码
借助Jupyter自带的nbconvert工具,可直接将Notebook转换为纯脚本文件:
- 打开终端,切换至Notebook所在目录
- 执行命令:
jupyter nbconvert --to script your_notebook.ipynb(将your_notebook替换为你的实际文件名) - 执行完成后会生成同名
.py文件,其中包含所有代码单元格的内容,直接打开文件复制代码即可
3. 禁用MathJax后尝试打开原Notebook
若想保留原Notebook结构再复制代码,可先禁用MathJax渲染:
- Linux/macOS终端:执行
export JUPYTER_DISABLE_MATHJAX=1 - Windows命令行:执行
set JUPYTER_DISABLE_MATHJAX=1 - 启动Jupyter Notebook/Lab后尝试打开目标文件,此时不会加载MathJax,大概率能正常打开,再复制需要的代码
关于文本模式读取的疑问
完全可以通过文本模式读取Notebook来复制代码,因为.ipynb本身就是结构化的JSON文本,直接编辑或提取对应字段即可获取代码内容,无需依赖Jupyter环境。
内容的提问来源于stack exchange,提问作者deltasata
相关产品推荐
相关产品推荐

