在Python中,您可以使用
读取文件并将其行加载到列表中f = open('file.txt','r')
lines = f.readlines()
每个单独的行由\n
分隔,但如果某行的内容为\r
,则不会将其视为新行。我需要将所有\r
转换为\n
并获取正确的列表lines
。
如果我在.split('\r')
内lines
我会在列表中找到列表。
我考虑过打开一个文件,将所有\r
替换为\n
,关闭文件并再次阅读,然后使用readlines()
,但这似乎很浪费。
我该如何实现?
答案 0 :(得分:44)
f = open('file.txt','rU')
这将使用Python universal newline support打开文件,\r
被视为行尾。
答案 1 :(得分:3)
如果这是一个问题,请以二进制格式打开并使用以下代码进行转换:
from __future__ import with_statement
with open(filename, "rb") as f:
s = f.read().replace('\r\n', '\n').replace('\r', '\n')
lines = s.split('\n')