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

发布于 2024-07-09 11:39:18 字数 41 浏览 12 评论 0原文

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

Let's say I want to create the alias %xed for %edit -x. How would I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

单挑你×的.吻 2024-07-16 11:39:18

上面给出的答案使用了旧的魔法系统。 get_ipython().expose_magic 已死。 现在您只需导入并使用装饰器即可完成这一切。

请参阅此处了解更多详细信息。

The answer given above uses the old magic system. get_ipython().expose_magic is dead. You now just import and use decorators for all this.

See here for more details.

不离久伴 2024-07-16 11:39:18

更新:第一个响应(如下)不接受参数。 因此,将此片段放在 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 别名( %magic? ):

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

执行IPYTHON.magic_pf =
IPYTHON.magic_profile

将定义 %pf 作为新名称
%个人资料。

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

Update: The first response( below) does not accept parameters. So put this snippet at the end of the ipy_user_conf.py file ( it is in your home directory ).

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)

Before update:
Does it has to be %magic?
You can use the macro and store magic to reproduce this behavior without the magic %.

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

for magic alias from the documentation ( %magic? ):

You can also define your own aliased
names for magic functions. In your
ipythonrc file, placing a line like:

execute IPYTHON.magic_pf =
IPYTHON.magic_profile

will define %pf as a new name for
%profile.

But I don't know how too add the parameter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文