我刚刚用Notepad ++编辑了一个txt文件(file0.txt),只需单击Enter键即可。就是这样,只需一行。
我已经回顾了几个与\ r和\ n之间的差异相关的StackOverflow问题/答案。我已经在Notepad ++文本编辑器窗口中直观地确认,在Windows操作系统上,单击Enter键会引入两个ASCII字符CRLF(\ r \ n)。
那么,为什么在世界上,当我使用这个Python 3.4代码打印以前编辑过的文件的行时:
ffile=open('file0.txt')
for line in ffile:
print(ascii(line))
我得到
'\n'
终端中的而不是:
'\r\n'
答案 0 :(得分:3)
在幕后:
ffile=open('file0.txt')
open
创建TextIOWrapper
>>> print(ffile)
<_io.TextIOWrapper name='/tmp/asdf' mode='r' encoding='UTF-8'>
输入中的行可以在&#39; \ n&#39;,&#39; \ r&#39;或&#39; \ r \ n&#39;中结束,这些是 翻译成&#39; \ n&#39;在返回呼叫者之前