2012-04-03 340 views
8

您好我是Linux新手,我非常喜欢在shell中编写和测试python代码的想法。但我的问题是我如何在IPython中换行。每次我使用(我认为)“正常”快捷键+输入代码执行。功能键被禁用,键盘布局在我的笔记本电脑上正常工作,可能是什么问题?Linux - IPython中的换行

回答

5

没有问题。 Python代码是逐行执行的。

如果您的代码在逐行执行时不起作用,则从文件加载时(假设在两种情况下均为“干净”环境),该代码不起作用。

+0

感谢您的回复@Marcin!如果我想在Ipython中编写一个函数或类似的东西,我需要不止一行来以正确的方式描述它(缩进)还是我错了?当我发送'def myfunction:'给编译器时总会出现一个错误。 – tecmec 2012-04-03 11:16:50

+2

@danny这是一个错误,因为'def myfunction:'在任何地方都不是有效的python。 – Marcin 2012-04-03 11:22:49

+0

啊,你是对的! 'def myfunction():',Sry我也是新来的python) – tecmec 2012-04-03 11:25:52

6

如果您想执行换行符,则可以使用\转义字符结束行,与您在Python文件中执行的操作相同。 Shift+Enteripython中没有任何特殊含义,而且实际上在shell中的位置最多。它在Python中也没有特殊的含义。

它在一些文本编辑器和文字处理器中,特别是LyX和LibreOffice,当然还有一些网站(通过网页浏览器)具有特殊含义。

16

我只是碰到一个解决方案出来,张贴由肯尼斯·法尔克: IPython newlines with ^V^J

在编辑多行代码块使用Ctrl+V CTRL+J

+1

谢谢!当试图在IPython中编辑以前的块时,这会令我失望。 – ShawnFumo 2013-09-20 21:00:03

+2

仅供参考:在类似iTerm2的终端程序中,您可以将其分配给一个热键。我将ctrl-enter设置为“发送十六进制代码”0x16 0x0a。也可以使用cmd-enter或其他任何对你来说最舒服的方式。 – ShawnFumo 2013-09-30 19:44:47

+0

这个问题让我暂时停止了ipython。现在我回来了!谢谢! – 2015-10-14 18:20:59