在IPython中,如何为%magics创建别名?

Law*_*ton 5 alias magic-function ipython

假设我要为%edit -x创建别名%xed。我该怎么办?

Iga*_*ban 2

更新:第一个响应(如下)不接受参数。因此,将此片段放在 ipy_user_conf.py 文件的末尾(位于您的主目录中)。

def ed_xed(self,arg):
    ip = self.api
    return ip.magic.im_class.magic_edit(ip.IP," -x %s "%arg)

ip.expose_magic('xed',ed_xed)
Run Code Online (Sandbox Code Playgroud)

更新前: 它必须是%magic吗?您可以使用宏和存储魔法来重现此行为,而无需魔法 %。

In [5]: %edit -x
In [6]: macro xed 5
In [7]: store xed
In [8]: xed
Run Code Online (Sandbox Code Playgroud)

对于文档中的 magic 别名( %magic? ):

您还可以为魔术函数定义自己的别名。在您的 ipythonrc 文件中,放置如下行:

执行IPYTHON .magic_pf = IPYTHON .magic_profile

将定义 %pf 作为 %profile 的新名称。

但我不知道如何添加参数。