spyder - 清除变量资源管理器以及内存中的变量

spyder - clear variable explorer along with variables from memory

要清除控制台,我们可以使用以下命令 -

import subprocess as sp
tmp = sp.call('cls',shell=True)

然而,要从内存中删除变量,我们通常依赖 -

但它们都是变量特定的,因此非常耗时。那么是否有任何通用命令(如 MATLAB 下的 clear)从内存中删除变量,然后从 Spyder 的变量资源管理器中删除变量。

在 Spyder 中,执行以下步骤
运行
每个文件的配置...
执行前清除所有变量 [Select Checkbox]

这实际上清除了文件前 运行 中的变量。希望对你有帮助。

转到 Spyder IDE 中的 IPython 控制台并键入 %reset。它将提示您输入 (y/n),因为变量一旦删除将无法恢复。输入 'y' 并回车。就是这样。

在网上冲浪,我发现了一个 hack 来解决每次要再次执行脚本时清除变量 explorer 的恼人问题:

def clear_all():
    """Clears all the variables from the workspace of the spyder application."""
    gl = globals().copy()
    for var in gl:
        if var[0] == '_': continue
        if 'func' in str(globals()[var]): continue
        if 'module' in str(globals()[var]): continue

        del globals()[var]
if __name__ == "__main__":
    clear_all()
    # insert here your code

基本上,它包括在执行其他所有操作之前执行函数 clear_all()。是自己写的同Matlab的函数。 Here link 到提出解决方案的 git 问题。

provided by Karan Kaw 中所述,有一个设置可以删除所有变量,无论您正在使用什么脚本。

执行以下操作(来自 drop-downs 栏)

> Tools > Preferences > Run

并选中 General Setting 部分中的 Remove all the variables before execution 复选框。为此,我使用 Spyder 3.3.4.

如果您希望执行您处理的所有脚本并预防性删除所有变量,则此完成可能是有序的。希望对你有帮助

在 Spyder 4.2.1 中,只需单击变量资源管理器中的“删除所有变量”图标即可删除变量: