IPython的 - 自定义魔法进口/填充命名空间(IPython - importing/popu

2019-10-22 01:40发布

%pylab在IPython的魔法进口一堆功能集成到用户的工作空间,这是非常方便的。 看代码,它不是在所有明显的如何做到这一点。 我至今在我的启动文件夹中的神奇功能:

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'>

奖金是,如果命令,同时会改变的模块。

Answer 1:

建议1: 不要使用%pylab

忠告二:不要试图模仿pylab使用它会咬你

如果你想拥有便捷的进口创建自己的包,并做from mypackage import *

如果你真的想要一个神奇的即有机会获得蟒蛇命名空间,你应该看到这个问题 。 并添加@needs_local_scope装饰。



文章来源: IPython - importing/populating namespace with custom magic