我知道. %reset
_ 但是,假设您有很多变量,并且您想清除除, ,之外的所有变量。有没有一种简洁的方法来实现这一点?说一个?%reset_selective
IPython
x
y
z
%reset_all_except x,y,z
问问题
2406 次
2 回答
1
这是基于大量类似问题的集体答案:
捕获系统中的默认变量(应该是您的第一行代码):
save_list = dir()
在使用“清除变量”命令之前将要保存的其他变量添加到列表中:
save_list.append(*your_variable_to_be_saved*)
最后,清除所有变量(除了默认和保存):
for name in dir():
if name not in save_list:
del globals()[name]
for name in dir():
if name not in save_list:
del locals()[name]
这将清除除默认变量和您选择保存的变量之外的所有变量。每当我在不保存默认变量的情况下这样做时,它也会清除这些变量,我必须重新启动内核才能将它们取回。
于 2020-01-07T09:53:15.870 回答
1
%reset_selective
接受正则表达式。
如果你有变量命名为:glob_x, glob_y, glob_z
你不想重置,你可以使用:%reset_selective -f ^(?!glob_).*$
于 2021-09-07T05:08:29.257 回答