如何在ipython中清除变量?

时间:2014-04-08 10:24:34

标签: python memory ipython

有时我会在同一个ipython会话中重新运行一个脚本,当变量尚未清除时,我会收到很多惊喜。如何清除所有变量? 每当我调用魔术命令%run时,是否有可能以某种方式强行执行此操作?

由于

7 个答案:

答案 0 :(得分:162)

%reset似乎清除了已定义的变量。

答案 1 :(得分:46)

在@ErdemKAYA评论后编辑。

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

%reset_selective <regular_expression>

从命名空间中删除的变量是与给定<regular_expression>匹配的变量。

因此

%reset_selective -f a 

将删除所有包含a

的变量

相反,仅删除a而不是aa

In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a  # raise NameError
In: aa  # returns 2

另请参阅%reset_selective?以获取更多示例,并https://regexone.com/查看正则表达式教程。

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

%reset?

答案 2 :(得分:22)

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

del x

答案 3 :(得分:10)

我试过

%reset -f

并清除所有变量和内容而不提示。 -f对给定命令执行强制操作,而不提示是/否

希望这有助于.. :))

答案 4 :(得分:5)

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

from IPython import get_ipython
get_ipython().magic('reset -sf') 

为了简化生活,您可以将它们添加到默认模板中。

在Spyder中:Tools>Preferences>Editor>Edit template

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

del variable1,variable2