它在正常的 python 交互模式下工作:
>>> """1
...
... 2"""
'1\n\n2'
然而,第二个\n
进去了iPython
In [4]: """1
...:
...: 2"""
Out[4]: '1\n2'
怎么了?
最后我发现它已经在最新版本中解决了。这是提交
原因是在IPython
使用raw_input
捕获什么使用类型时,\n
被剥离了。然后字符串将在稍后附加一个 '\n'。但是,如果字符串是空字符串,它将被丢弃。流程是这样的:
if not s:
return
s = s+'\n'