Em IPython como faço para criar apelidos para% magias?
-
08-07-2019 - |
Pergunta
Vamos dizer que eu quero criar o apelido% fixado para% editar -x. Como eu faria isso?
Solução
Update: A primeira resposta (abaixo) não aceita parâmetros. Então, colocar esse trecho no final do arquivo ipy_user_conf.py (está em seu diretório home).
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)
Antes de actualização: Será que ela tem de ser% magia? Você pode usar a magia macro e loja para reproduzir esse comportamento, sem a magia%.
In [5]: %edit -x
In [6]: macro xed 5
In [7]: store xed
In [8]: xed
Em Alias ??magia da documentação (% mágica?):
Você também pode definir o seu próprio alias nomes para funções mágicas. Na tua arquivo ipythonrc, colocando uma linha como:
executar ipython .magic_pf = ipython .magic_profile
definirá% PF como um novo nome para % Perfil.
Mas eu não sei como também adicionar o parâmetro.
Outras dicas
A resposta dada acima usa o sistema de magia de idade. get_ipython().expose_magic
está morto. Você agora apenas de importação e uso decoradores para tudo isso.
Consulte aqui para mais detalhes.