Sous IPython, comment créer des alias pour% magics?
-
08-07-2019 - |
Question
Supposons que je souhaite créer l'alias% xed pour% edit -x. Comment pourrais-je le faire?
La solution
Mise à jour: la première réponse (ci-dessous) n'accepte pas les paramètres. Placez donc cet extrait à la fin du fichier ipy_user_conf.py (il se trouve dans votre répertoire personnel).
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)
Avant la mise à jour: Est-ce que cela doit être% magique? Vous pouvez utiliser la macro et stocker de la magie pour reproduire ce problème sans la magie%.
In [5]: %edit -x
In [6]: macro xed 5
In [7]: store xed
In [8]: xed
pour l'alias magique de la documentation (% magic?):
Vous pouvez également définir votre propre alias noms pour les fonctions magiques. Dans ton fichier ipythonrc, en plaçant une ligne du type:
exécuter IPYTHON .magic_pf = IPYTHON .profil_magique
définira% pf en tant que nouveau nom pour % profil.
Mais je ne sais pas comment ajouter le paramètre.
Autres conseils
La réponse donnée ci-dessus utilise l'ancien système magique. get_ipython (). expose_magic
est mort. Vous venez maintenant d'importer et d'utiliser des décorateurs pour tout cela.
Voir ici pour plus de détails.