Python在txt文件中读取\ n和\ r \ n

时间:2015-03-20 00:11:19

标签: python ascii

我刚刚用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'

1 个答案:

答案 0 :(得分:3)

在幕后:

ffile=open('file0.txt')

open创建TextIOWrapper

的实例
>>> print(ffile)                                                                                                       
<_io.TextIOWrapper name='/tmp/asdf' mode='r' encoding='UTF-8'>

来自docsTextIOWrapper

  

输入中的行可以在&#39; \ n&#39;,&#39; \ r&#39;或&#39; \ r \ n&#39;中结束,这些是   翻译成&#39; \ n&#39;在返回呼叫者之前