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