【问题标题】:Avoid storing objects in Jupyter notebook cache避免将对象存储在 Jupyter 笔记本缓存中
【发布时间】:2018-02-03 21:04:02
【问题描述】:

Jupyter 将我的对象存储在输出变量中,例如 _1_2、..._10。通常在使用笔记本的过程中,我会用新结果覆盖旧结果,并用新结果覆盖旧单元格。

但是,我的数据继续留在内存中,存在于这些隐藏的输出变量中。有没有办法在用户端“请不要在我的笔记本中存储任何输出变量”或在对象端“请不要将我存储在输出变量中”禁用此行为?

【问题讨论】:

    标签: python ipython jupyter-notebook jupyter


    【解决方案1】:

    仅当单元格中的最后一句是一个值不同于None 且末尾没有分号的表达式时,才会创建输出变量。因此,您可以完全控制单元格级别:使用分号禁用输出变量的显示和创建。使用printdisplay(均返回None)在不创建输出变量的情况下获得对象的可视化表示。

    以下示例来自 IPython 控制台,但笔记本的工作方式相同。

    In [1]: 'hello'
    Out[1]: hello
    
    In [2]: 'hello';
    
    In [3]: print('hello')
    hello
    
    In [4]: display('hello')
    'hello'
    

    此时_1 已定义并绑定到'hello',但_2_3_4 未定义。

    【讨论】:

      猜你喜欢
      • 2020-06-11
      • 2022-08-16
      • 2010-09-10
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多