Python 伊皮顿没有';t将空行捕捉为“`\n`

Python 伊皮顿没有';t将空行捕捉为“`\n`,python,ipython,Python,Ipython,它在正常的python交互模式下工作: >>> """1 ... ... 2""" '1\n\n2' 但是,第二个\n在iPython In [4]: """1 ...: ...: 2""" Out[4]: '1\n2' 怎么了?最后我发现它在最新版本中得到了解决。这是我的建议 原因是当IPython使用raw\u输入来捕获使用类型时,\n正在被剥离。然后该字符串将在以后追加一个'\n'。但是,如果字符串是空字符串,它将被抛出。流程如下所示: if not

它在正常的python交互模式下工作:

>>> """1
... 
... 2"""
'1\n\n2'
但是,第二个
\n
iPython

In [4]: """1
   ...: 
   ...: 2"""
Out[4]: '1\n2'

怎么了?

最后我发现它在最新版本中得到了解决。这是我的建议

原因是当
IPython
使用
raw\u输入来捕获使用类型时,
\n
正在被剥离。然后该字符串将在以后追加一个'\n'。但是,如果字符串是空字符串,它将被抛出。流程如下所示:

if not s:
    return
s = s+'\n'

奇怪的可以与
%cpaste
配合使用。它是否与Python概念相关??我认为可能是iPython中的一个bug,在Enthough中使用iPython很好,但在
cmd
中不起作用。奇怪。它似乎丢失了所有的空行(如果有多行的话)。此外,历史记录命令显示键入的结果错误…临时修复程序将使用
%cpaste
。是的,输入转换正在对IPython 1.0进行彻底检查。