【问题标题】:spyder - clear variable explorer along with variables from memoryspyder - 清除变量资源管理器以及内存中的变量
【发布时间】:2018-02-01 20:42:22
【问题描述】:

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

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

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

  • 使用del命令
  • 使用变量资源管理器中的下拉菜单手动删除变量

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

【问题讨论】:

  • 如果你想重启 ipython 控制台,你可以使用%reset,它会清除你所有的变量,但也许你只想删除一个变量?
  • 好吧,我希望在 spyder python 脚本中一次删除所有变量。
  • @JoseDzirehChong 给定页面没有列出普通 py 脚本的解决方案,而是为 IPython 脚本提供了一种方法。 @Nathan,我们不能直接发出 %reset 命令。那么,需要哪些步骤才能使其可用于 python 脚本?
  • @Vivek,您可以通过转到菜单 Run > Configuration per file > General settings 并选择名为 Clear all variables before execution 的选项来自动清除 Spyder 中的命名空间。

标签: python spyder


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    这实际上会清除文件之前运行的变量。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      在网上冲浪时,我发现了一个 hack,可以解决每次要再次执行脚本时清除变量资源管理器的烦人问题:

      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 提出解决方案的 git 问题的链接。

      【讨论】:

        【解决方案4】:

        正如Karan Kaw 提供的answer 中所解释的,有一个设置可以删除所有变量,而不管您正在处理的脚本是什么。

        执行以下操作(从下拉栏)

        > Tools > Preferences > Run

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

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-11-09
            • 2019-10-13
            • 1970-01-01
            • 2023-04-07
            • 2016-03-23
            • 2021-07-15
            • 2019-06-05
            相关资源
            最近更新 更多