在ipython中,我们可以使用
_ih[32:39]
显示32到39之间的历史记录行。如何直接执行这些历史记录行?
答案 0 :(得分:20)
您可以使用%recall
执行以前会话中的代码。请参阅%recall
文档here。
#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
答案 1 :(得分:17)
我使用列表符号:
exec In[34:36]
另外,如果你使用编辑功能来编辑一个块,那么Out列表中会包含你的代码,所以:
exec Out[35]
我的最爱:
edit In[34:38]
因为我是一个胖胖的傻瓜,在第一次尝试时很难做到这一点。
答案 2 :(得分:11)
在最新版本的iPython中,您可以使用重新运行魔术命令:
%rerun 32:39
该命令的文档:http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-rerun
答案 3 :(得分:10)
尝试%召回, 检查doc of recall magic command
答案 4 :(得分:7)
答案 5 :(得分:5)
您可以从行创建命名宏并执行它们:
%macro foo 32-38
foo
如果您想多次执行同一组行,这非常有用。这些行也不需要是顺序的或按顺序排列:
%macro bar 38 37 32-36 42
答案 6 :(得分:2)
您可以在执行之前编辑行,如下所示:
edit 1-5
显然语法在某些时候从dreynold的答案中使用的列表符号改变了。