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

如何中断Jupyter Notebook运行中的循环且不丢失已获得的数据

操作分步指南
  • 第一步:中断当前运行的代码
    点击Jupyter Notebook界面顶部工具栏的方形「停止」按钮,或点击顶部菜单栏「Kernel」>「Interrupt Kernel」即可。
    *注意:中断后绝对不要点击重启Kernel、不要关闭当前Jupyter页面、不要刷新页面,否则内存中的data变量会直接丢失。
  • 第二步:验证data变量有效性
    新建一个代码单元,输入以下代码运行:
    print(len(data))
    
    只要输出的数字大于0,就说明已经循环处理生成的数据全部完好保存在内存中。
  • 第三步:永久保存data数据
    推荐优先使用Python原生pickle格式存储,能完整保留列表内的所有数据结构,不需要额外适配格式:
    import pickle
    # 数据会保存在当前notebook所在的文件夹中
    with open('已处理数据完整备份.pkl', 'wb') as f:
        pickle.dump(data, f)
    
    如果你需要可直接打开查看的表格格式,且data内的数据为结构化内容,可以用以下代码存为CSV:
    import pandas as pd
    pd.DataFrame(data).to_csv('已处理数据表格备份.csv', index=False, encoding='utf-8-sig')
    
    后续需要读取备份的pickle数据时,用以下代码即可:
    import pickle
    with open('已处理数据完整备份.pkl', 'rb') as f:
        data = pickle.load(f)
    
  • 第四步(可选):从断点继续运行未完成的循环
    不需要从头重跑,跳过已经处理过的文件即可继续运行:
    # 已经处理完成的文件数量
    processed_num = len(data)
    # 从下一个未处理的文件开始继续循环
    for file_origin in onlyfiles[processed_num:]:
        path_to_text = mypath + '/' + file_origin
        data.append(tratamiento_datos(path_to_text))
    

内容的提问来源于stack exchange,提问作者Claudia C

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:54:02