更好的Python 3 REPL libreadline历史

时间:2017-05-07 00:36:34

标签: linux windows python-3.x read-eval-print-loop

我不确切知道如何标题,因此很可能是尴尬的标题。

假设我在python3.6 REPL中编写了一些这样的代码:

!!

输入后,我意识到我实际上是想在>>> with open('a.txt') as input, open('b.txt', 'w') as out: ... for i, line in enumerate(input): ... if i % 4 == 0: ... out.write(line) ... >>> 时输出一行。不用担心,我按了i % 4 == 1键四次到达第一行UP ARROW,然后按with ... out:键入它。此时,repl看起来像这样(带有我的光标在最后一行):

ENTER

我清楚地记得我现在可以执行单>>> with open('a.txt') as input, open('b.txt', 'w') as out: ... for i, line in enumerate(input): ... if i % 4 == 0: ... out.write(line) ... >>> with open('a.txt') as input, open('b.txt', 'w') as out: ... 次按键查询第二行DOWN ARROW的功能,因为还从历史记录中查询了上一行。然后,我会继续执行单个for i, ... (input):系列,后跟DOWN ARROW,直到我到达我想要修改的行。这比为每一行执行ENTER按键要快得多。

我不记得这是在macOS上还是在Windows上,或者是什么,但我在n上使用Ubuntu 17.04 repl,我无法弄清楚如何启用该功能。

有谁知道我指的是什么,以及我如何启用它?谢谢你的任何建议。

0 个答案:

没有答案