gra*_*per 122 python memory ipython
有时我会在同一个ipython会话中重新运行一个脚本,当变量尚未清除时,我会收到很多惊喜.如何清除所有变量?每当我调用魔术命令%run时,是否有可能以某种方式强制执行此操作?
谢谢
ais*_*baa 177
%reset 似乎清楚定义的变量.
SeF*_*SeF 47
在@ErdemKAYA评论后编辑.
要擦除变量,请使用magic命令:
%reset_selective <regular_expression>
Run Code Online (Sandbox Code Playgroud)
从命名空间中删除的变量是与给定的匹配的变量<regular_expression>.
因此
%reset_selective -f a
Run Code Online (Sandbox Code Playgroud)
将删除包含的所有变量a.
相反,只擦除a而不是aa:
In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a # raise NameError
In: aa # returns 2
Run Code Online (Sandbox Code Playgroud)
另请参阅%reset_selective?更多示例和https://regexone.com/以获取正则表达式教程.
要擦除命名空间中的所有变量,请参阅:
%reset?
Run Code Online (Sandbox Code Playgroud)
小智 10
我试过了
%reset -f
Run Code Online (Sandbox Code Playgroud)
并在没有提示的情况下清除所有变量和内容.-f在没有提示是/否的情况下对给定命令执行强制操作.
希望这有帮助.. :)
小智 7
将以下行添加到新脚本将在每次重新运行脚本时清除所有变量:
from IPython import get_ipython
get_ipython().magic('reset -sf')
Run Code Online (Sandbox Code Playgroud)
为了简化生活,您可以将它们添加到默认模板中.
在Spyder: Tools>Preferences>Editor>Edit template
小智 5
该get_ipython().magic()方法在 ipython 8.1 中引发 DeprecationWarning。这是卡尔的答案的新版本
from IPython import get_ipython
get_ipython().run_line_magic('reset', '-sf')
Run Code Online (Sandbox Code Playgroud)
将这些行添加到您正在编辑的文件中。然后在 ipython 命令提示符处输入:
%run file_you_are_editing.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
217427 次 |
| 最近记录: |