7

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

4

2 回答 2

3

上面给出的答案使用了旧的魔法系统。get_ipython().expose_magic死了。您现在只需为所有这些导入和使用装饰器。

有关更多详细信息,请参见此处

于 2012-08-06T12:01:15.957 回答
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)

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

In [5]: %edit -x
In [6]: macro xed 5
In [7]: store xed
In [8]: xed

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

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

执行IPYTHON .magic_pf = IPYTHON .magic_profile

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

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

于 2008-11-17T17:55:39.853 回答