%重置后重新加载自动导入
问题描述:
如果我的IPython会话运行时间过长(see comments on this post),我敦促exit()
并重新启动IPython以释放该会话中所有变量占用的内存。然而,重新启动需要宝贵的时间,我觉得很烦人(不是我不能忍受它,但我不应该)。%重置后重新加载自动导入
我发现了杀死我所有变量(yay!)的魔法函数%reset
,但这样做也杀死了导入到我的命名空间的名称。这些包括在~/.ipython/profile_default/startup/00-imports.py
中定义的自动导入,这是我想在IPython会话启动时执行的导入。
有没有办法让我重新运行这些导入(有点像bash中的source
命令);或更好的是,是否有一个版本的%reset
杀死我的变量,但不是进口?
技术细节:
- IPython的版本:0.13.1
- 操作系统:Mac OS X 10.7.5(狮子)
重新导入我的导入是否有魔力? – inspectorG4dget 2013-02-27 16:24:41
编写你自己的。 – 2013-02-27 16:25:43
要得到一个导入模块的列表,你可以从类型import ModuleType; [s for s in globals()if isinstance(globals()[s],ModuleType)]''。我想你可以打印格式化的名称作为import语句和'exec',或者使用'__import __(module_name)'。 – 2013-02-27 16:29:20