Ipython как выполнить несколько строк истории
В ipython мы можем использовать
_ih[32:39]
Чтобы отобразить строки истории между 32 и 39. Как я могу напрямую выполнять эти строки истории?
Ответы
Ответ 1
Я использую обозначение списка:
exec In[34:36]
также, если вы используете функцию редактирования для редактирования фрагмента, в списке Out будет введен ваш код, поэтому:
exec Out[35]
И мой любимый:
edit In[34:38]
потому что я плотный слякоть, который редко может справиться с первой попыткой.
Ответ 2
попробуйте% вспомнить,
check команда вызова волшебной команды
Ответ 3
Используйте оператор exec
:
exec(_ih[32:39])
http://docs.python.org/reference/simple_stmts.html#exec
Ответ 4
Вы можете выполнить код из предыдущих сеансов с помощью %recall
. См. %recall
документация здесь.
#Execute all code from previous session.
%recall ~1/
#Execute all code from two sessions previous the current session.
%recall ~2/
#Execute lines 1 to 5 from previous session.
%recall ~1/1-5
Ответ 5
Вы можете создать именованный макрос из строк и выполнить их:
%macro foo 32-38
foo
Это полезно, если вы хотите выполнить один и тот же набор строк более одного раза. Также строки не обязательно должны быть последовательными или упорядоченными:
%macro bar 38 37 32-36 42
Ответ 6
В последних версиях iPython вы используете магическую команду:
%rerun 32:39
Документация по этой команде: http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-rerun
Ответ 7
Вы можете редактировать строки перед их выполнением так:
edit 1-5
По-видимому, синтаксис в какой-то момент изменился из списка-нотации, используемого в ответе dreynold.