ipython 如何执行多条历史命令

35 投票
7 回答
15722 浏览
提问于 2025-04-17 03:26

在ipython中,我们可以使用

_ih[32:39] 

来显示第32到第39行的历史记录。那么,我该如何直接执行这些历史记录呢?

7 个回答

20

在最近版本的iPython中,你可以使用一个叫做重跑的魔法命令:

%rerun 32:39

关于这个命令的详细说明可以查看这里: http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-rerun

21

我使用列表的写法:

exec In[34:36]

另外,如果你使用编辑功能来修改一段代码,输出的列表里会包含你的代码,所以:

exec Out[35]

还有我最喜欢的:

edit In[34:38]

因为我手指笨拙,通常第一次都很难写对。

32

你可以用 %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

撰写回答