在ipython中,我们可以使用
_ih[32:39]
Run Code Online (Sandbox Code Playgroud)
显示32到39之间的历史记录行.如何直接执行这些历史记录行?
sso*_*ler 22
您可以使用以前的会话执行代码%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
Run Code Online (Sandbox Code Playgroud)
dre*_*old 17
我使用列表表示法:
exec In[34:36]
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用编辑功能编辑块,则Out列表中将包含您的代码,因此:
exec Out[35]
Run Code Online (Sandbox Code Playgroud)
而我最喜欢的:
edit In[34:38]
Run Code Online (Sandbox Code Playgroud)
因为我是一个胖胖的傻瓜,在第一次尝试时很难做到这一点.
Chr*_*enz 11
在最新版本的iPython中,您使用重新运行魔术命令:
%rerun 32:39
该命令的文档:http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-rerun
使用exec
声明:
exec(_ih[32:39])
Run Code Online (Sandbox Code Playgroud)
http://docs.python.org/reference/simple_stmts.html#exec
您可以从行创建命名宏并执行它们:
%macro foo 32-38
foo
Run Code Online (Sandbox Code Playgroud)
如果要多次执行同一组行,这非常有用.这些行也不需要是顺序的或顺序的:
%macro bar 38 37 32-36 42
Run Code Online (Sandbox Code Playgroud)