强制IPython执行当前的多行代码块

时间:2019-02-25 09:43:26

标签: python ipython

在IPython(7.3.0)中,我可以编辑多行代码块:

In [1]: def funtcion(a, b):
   ...:     return a + b
   ...:

然后我意识到自己做了一个错字,我想纠正(|标记光标的位置):

<press up arrow, then edit>
In [2]: def funct|ion(a, b):
   ...:     return a + b
   ...:

我要执行该操作:

<press enter>
In [2]: def funct
   ...: |ion(a, b):
   ...:     return a + b
   ...:

...实际上并不能满足我的要求。

是否有一种方法可以强制IPython执行当前单元格?

1 个答案:

答案 0 :(得分:0)

正如@AntiMatterDynamite在评论中提到的那样,您可以导航到该块的末尾,然后单击Enter。但这(至少对我而言)似乎不重要。

相反,请尝试按Shift + Enter的中线,这将执行当前单元,而与光标位置无关。在Spyder的IPython控制台中,这一直对我有用。

有趣的是,当我在常规IPython控制台(即从终端而不是从Spyder初始化的IPython)中测试了Shift + Enter时,它没有用。但是,先按Esc再按Enter确实可以。