Python命令行:在前一行编辑错误?

时间:2011-08-05 16:34:32

标签: python linux command-line command

当通过命令行使用python时,如果我在嵌套语句的前一行看到错误,是否有任何方法可以在输入后删除或编辑该行?

e.g:

>>> file = open("file1", "w")
>>> for line in file:
...     parts = line.split('|')   <-- example, I meant to type '\' instead
...     print parts[0:1]
...     print ";"
...     print parts[1:]

所以,不是重新输入整个东西来修复一个字符,我可以回过头来看看后见之明吗? 我知道我可以用vim或其他东西编写代码并拥有一个持久的副本我可以做任何我想要的东西,但我希望用命令行一个方便的花花公子。

- 谢谢!

5 个答案:

答案 0 :(得分:7)

你不能在原来的python解释器中做这样的事情,但是,如果你使用IPython的最后一个版本,它提供了一个lightweight GUI(看起来像一个简单的shell,但是是一个事实上,GUI具有多行编辑,语法突出显示和许多其他功能。要使用IPython GUI,请使用ipython qtconsole命令运行它。

答案 1 :(得分:1)

在我编写Python的这些年里,并不是我所知道的。这就是文本编辑器的用途=)

如果您是Emacs用户,可以将环境设置为将窗口拆分为代码缓冲区和Python shell缓冲区,然后执行整个缓冲区以查看更改。

答案 2 :(得分:1)

也许。 Python Tutorial说:

  

也许最快的检查是否支持命令行编辑是在第一个Python提示符下键入Control-P。如果发出哔哔声,您可以进行命令行编辑;有关密钥的介绍,请参阅Appendix Interactive Input编辑和历史替换。如果没有发生任何事情,或者如果^ P被回显,则命令行编辑不可用;你只能使用退格键从当前行中删除字符。

答案 3 :(得分:0)

除了@ MatToufoutu的建议之外,您还可以看一下DreamPie,虽然它只是没有IPython其他扩展的shell的GUI。

答案 4 :(得分:0)

现在使用

代替ipython
jupyter console

在cmd提示符