您的第一个选择是避免产生输出。如果您真的不需要 查看 中间结果,则可以避免它们,并将所有计算结果放在一个单元格中。
如果需要实际显示该数据,可以使用
InteractiveShell.cache_size选项设置缓存的最大大小。将此值设置为
0禁用缓存。
为此,您必须在目录下创建一个名为
ipython_config.py(或
ipython_notebook_config.py)的
~/.ipython/profile_default文件,其内容如下:
c = get_config()c.InteractiveShell.cache_size = 0
之后,您将看到:
In [1]: 1Out[1]: 1In [2]: Out[1]---------------------------------------------------------------------------KeyError Traceback (most recent call last)<ipython-input-2-d74cffe9cfe3> in <module>()----> 1 Out[1]KeyError: 1
您还可以使用命令为ipython创建不同的配置文件
ipython profile create<name>。这将在
~/.ipython/profile_<name>默认配置文件下创建一个新的配置文件。然后,您可以使用
--profile<name>加载该配置文件的选项启动ipython 。
另外,您可以使用
%reset out魔术来重置输出缓存或使用
%xdel魔术来删除特定对象:
In [1]: 1Out[1]: 1In [2]: 2Out[2]: 2In [3]: %reset outonce deleted, variables cannot be recovered. Proceed (y/[n])? yFlushing output cache (2 entries)In [4]: Out[1]---------------------------------------------------------------------------KeyError Traceback (most recent call last)<ipython-input-4-d74cffe9cfe3> in <module>()----> 1 Out[1]KeyError: 1In [5]: 1Out[5]: 1In [6]: 2Out[6]: 2In [7]: v = Out[5]In [8]: %xdel v # requires a variable name, so you cannot write %xdel Out[5]In [9]: Out[5] # xdel removes the value of v from Out and other caches---------------------------------------------------------------------------KeyError Traceback (most recent call last)<ipython-input-9-573c4eba9654> in <module>()----> 1 Out[5]KeyError: 5



