编辑:一般的想法是使用%store魔术将所有变量存储在我的Jupyter Notebook中,以便使用%store -r将所有变量恢复到下一个会话。
我正在尝试使用:
% store
,我需要存储变量。使用:
dir()
我获得一个字符串列表,其中包含我创建的所有变量的名称,直到该行为止:
['a','b','c']
是否可以执行以下操作:
%store a
%store b
%store c
知道变量的字符串吗? 我尝试过:
for i in dir():
%store eval(i)
但是它给出了:UsageError:未知变量'eval(i)' 我该如何处理?有没有一种方法可以将所有本地环境保存在Jupyter Notebook中以备下次使用?
编辑:
for i in dir():
%store locals()[i]
给出:UsageError:未知变量'locals()[i]'
答案 0 :(得分:0)
按照@abarnert的建议,您可以通过编程方式运行line magic,例如:
In []:
import IPython
store = IPython.get_ipython().find_line_magic('store')
a = b = c = 10
for i in ['a', 'b', 'c']:
store(i)
Out []:
Stored 'a' (int)
Stored 'b' (int)
Stored 'c' (int)
尝试使用%store
的问题是传递给它的字符串没有被评估,而是直接在范围内查找,因此错误Unknown variable 'eval(i)'