Skip to main content
 首页 » 编程设计

Python 读取由分隔符决定的文件\r\n

2025年05月04日23linjiqin

我只想读取由换行符\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 之后),它们将被视为普通字符。