Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何重命名IPython中的神奇函数?_Python_Ipython - Fatal编程技术网

如何重命名IPython中的神奇函数?

如何重命名IPython中的神奇函数?,python,ipython,Python,Ipython,我想将%paste重命名为类似%pp的名称,以便减少击键次数。我想出了一个办法,但似乎很复杂。有更好的办法吗 def foo(self, bar): get_ipython().magic("paste") get_ipython().define_magic('pp', foo) 使用%aliasmagic执行此操作(如果希望永久使用%store): 在IPython 0.13中,有一个新的%alias_magicmagic函数,您可以将其用作: %alias_magic pp p

我想将
%paste
重命名为类似
%pp
的名称,以便减少击键次数。我想出了一个办法,但似乎很复杂。有更好的办法吗

def foo(self, bar):
    get_ipython().magic("paste")

get_ipython().define_magic('pp', foo)

使用
%alias
magic执行此操作(如果希望永久使用
%store
):


在IPython 0.13中,有一个新的
%alias_magic
magic函数,您可以将其用作:

%alias_magic pp paste

尝试将alias用于此类函数,很遗憾,我认为它仅适用于系统命令,而不适用于IPython magic命令。如果退出IPython并再次启动它,则会丢失alias。您知道如何使别名在IPython会话中持久化吗?您可以将其放入启动脚本中:问题是“%alias\u magic pp paste”不是有效的python语法。这会导致启动ipython时出现语法错误:
echo”%alias\u magic pp paste“>~/.ipython/profile\u default/startup/paste\u alias.py
get\u ipython().magics\u manager()。register\u alias('pp','paste')
应该这样做。您还可以在启动文件中使用magics,方法是给它一个
.ipy
扩展名。太好了,谢谢!仅供参考,我得到了“magics manager不可调用”,并将其更改为以下状态以工作:
get\u ipython().magics\u manager.register\u别名('pp','paste')
%alias_magic pp paste