В IPython как создать псевдонимы для% magics? - PullRequest
5 голосов
/ 17 ноября 2008

Допустим, я хочу создать псевдоним% xed для% edit -x. Как бы я это сделал?

Ответы [ 2 ]

3 голосов
/ 06 августа 2012

Ответ, приведенный выше, использует старую магическую систему. get_ipython().expose_magic мертв. Теперь вы просто импортируете и используете декораторы для всего этого.

Подробнее см. здесь .

2 голосов
/ 17 ноября 2008

Обновление: Первый ответ (ниже) не принимает параметры. Поэтому поместите этот фрагмент в конец файла 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)

До обновления: Должно ли это быть% волшебство? Вы можете использовать макрос и хранить магию, чтобы воспроизвести это поведение без магии%.

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 как новое имя для % Профиля.

Но я не знаю, как тоже добавить параметр.

...