IPython - 使用自定义魔术导入/填充命名空间

时间:2015-02-24 14:12:35

标签: ipython ipython-notebook ipython-magic

IPython中的%pylab魔法将一堆函数导入用户的工作区,这非常方便。看一下代码,看起来并不是很明显。到目前为止,我的启动文件夹中有一个神奇的功能:

from IPython.core.magic import register_line_magic

@register_line_magic
def import_my_functions(line):
    """
    Import functions into namespace somehow....
    e.g. import numpy as np
    """

那么应该是可能的:

In[1]: %import_my_functions
 imported the following:
   numpy as np
   .....
In[2]: np
Out[2]: <module 'numpy' from ..../venv/lib/python2.7/site-packages/numpy/__init__.pyc'>

如果该命令还重新加载已更改的模块,则会获得奖励。

1 个答案:

答案 0 :(得分:2)

建议1:Don't使用%pylab

建议2:不要试图模仿pylab使用它会咬你

如果您想方便导入,请创建自己的包并执行from mypackage import *

如果你真的想要一个可以访问python命名空间的魔法,你应该看到this question。并添加@needs_local_scope装饰器。