You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从运行中的Jupyter Notebook恢复已删除的导入.py文件源代码?

恢复已删除导入模块源码的方法

只要运行Jupyter Notebook的Python内核还未重启,已经加载到内存中的模块、类、函数的源代码均可通过Python标准库inspect提取,无需额外工具。

操作步骤

  • 第一步:导入所需标准库
import inspect
import sys
  • 第二步:按需求选择恢复方式
    1. 恢复单个类/函数的源码(以你场景中的Parser类为例)
      直接调用inspect.getsource()即可获取目标对象的完整源码,可直接写入文件完成恢复:
    # 提取Parser类源码
    parser_source = inspect.getsource(Parser)
    # 写入新的py文件
    with open("parser_recovered.py", "w", encoding="utf-8") as f:
        f.write(parser_source)
    
    1. 恢复整个被删除的.py模块的全部源码
      如果你需要恢复整个模块内的所有代码(包括其他未直接导入的函数、类、全局定义),可以先从已加载的模块列表中取出对应模块,再提取全量源码:
    # 从已加载模块列表中取出parser模块
    parser_module = sys.modules["parser"]
    # 提取整个模块的完整源码
    full_module_source = inspect.getsource(parser_module)
    # 写入新的py文件
    with open("parser_full_recovered.py", "w", encoding="utf-8") as f:
        f.write(full_module_source)
    

注意事项

  • 该方法仅适用于纯Python编写的模块,你自己编写的.py文件均符合要求,C扩展类/函数无法用该方式提取源码。
  • 提取到源码后请尽快保存到本地持久化存储,内核重启后内存中的模块数据会被清空,无法再恢复。

内容的提问来源于stack exchange,提问作者Fatih Beyhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:48:02