我运行了%cpaste foo
并保存了代码块。我只需在shell上输入foo
即可打印代码块。
如何重新运行该代码?我试过了exec('foo')
,但它不起作用。
答案 0 :(得分:2)
%cpaste -r
将重新运行您在其中粘贴的最后一个代码块。
请记住,如果它在块中,则必须实际执行一个函数,而不仅仅是def
。如果是即时动作,它将返回结果。
这实际上有效,但foo
永远不会被执行。
In [24]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:def foo():
: print("bar")
:--
In [25]: %cpaste -r
Re-executing 'def foo():...' (30 chars) #foo is never called, so there's no result shown
这样也可以,并且执行foo以便得到结果。
In [26]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:def foo():
: print("bar")
:foo()
:--
bar #this is the result of immediate execution
In [27]: %cpaste -r
Re-executing 'def foo():...' (36 chars)
bar #this is re-runned result