如何清除ipython中的变量?

如何清除ipython中的变量?,python,memory,ipython,Python,Memory,Ipython,有时,我在同一个ipython会话中重新运行脚本,当变量没有被清除时,我会感到非常意外。如何清除所有变量? 每次我调用神奇的命令%run时,是否有可能以某种方式强制执行此操作 谢谢%reset似乎可以清除定义的变量。在@ErdemKAYA注释后编辑 要删除变量,请使用magic命令: %reset_selective <regular_expression> 将删除所有包含a的变量 相反,要仅擦除a,而不擦除aa: In: a, aa = 1, 2 In: %reset_selec

有时,我在同一个ipython会话中重新运行脚本,当变量没有被清除时,我会感到非常意外。如何清除所有变量? 每次我调用神奇的命令%run时,是否有可能以某种方式强制执行此操作


谢谢

%reset
似乎可以清除定义的变量。

在@ErdemKAYA注释后编辑

要删除变量,请使用magic命令:

%reset_selective <regular_expression>
将删除所有包含
a
的变量

相反,要仅擦除
a
,而不擦除
aa

In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a  # raise NameError
In: aa  # returns 2
有关更多示例和正则表达式教程,请参见
%reset\u selective?

要删除命名空间中的所有变量,请参见:

%reset?

在新脚本中添加以下行将在每次重新运行脚本时清除所有变量:

from IPython import get_ipython
get_ipython().magic('reset -sf') 
为了简化操作,可以将它们添加到默认模板中


在Spyder:
Tools>Preferences>Editor>Edit template

中,您可以在iPython中删除单个变量,如下所示:

del x

控制台面板中的退出选项还将清除变量资源管理器中的所有变量

***请注意,您将丢失在控制台面板中运行的所有代码

%reset -f
并在没有提示的情况下清除所有变量和内容<代码>-f对给定命令执行强制操作,而不提示是/否


希望这有帮助……)

除了前面提到的方法。还可以使用命令del删除多个变量

del variable1,variable2

谢谢有没有办法在每次运行%s之前自动设置它?您可以将脚本转换为函数以保持全局命名空间干净。刚刚发现%reset-f在没有用户确认的情况下清除全局命名空间是的reset-f很好,不再需要每次手动确认:)@Victor
%
用于ipython magic命令这里是
%reset
,否则也可以使用python中的“dela”。不,这个命令将把
name\u变量
当作regex语句,并将删除与之匹配的任何内容。@ErdemKAYA谢谢,我以前从来没有注意过!答案已编辑。一点也不!:)这确实有点违反直觉。我喜欢它,因为它也可以从脚本运行。
del variable1,variable2