我只想读取由换行符\r\n 确定的文件,\r 和\n 应该被视为字符串的一部分,而不是行尾。
我正在尝试使用
open('file.txt', 'rU').read().split('\r\n')
但是打开文件后我没有看到任何\r 字符,所以可能我必须使用不同的标志或不同的方式打开文件。
有什么办法解决这个问题吗?
编辑:抱歉没有指定 python 版本,我使用的是版本 3。
请您参考如下方法:
barny answer (使用二进制模式)在 Python 2 中完美运行,但需要在 Python 3 中进行调整,因为以二进制形式打开文件将其内容返回为 bytes,不再是 str。
此外,如果文件很大,一次读取整个文件的事实可能会导致内存问题。
在 Python 3 中,您可以将 newline 参数传递给 open,以便它根据默认值而不是默认值进行拆分。
with open("temp.txt","r",newline="\r\n") as f:
for line in f:
....
line 包含文本加上末尾的 \r\n(使用 line = line.rstrip() 删除)。
如果行中有 \n 个字符(不在 \r 之后),它们将被视为普通字符。
