将\ r \n文本转换为\n,以便readlines()按预期工作

gre*_*eye 18 python readline

在Python中,您可以使用读取文件并将其行加载到列表中

f = open('file.txt','r')
lines = f.readlines()
Run Code Online (Sandbox Code Playgroud)

每个单独的行由分隔,\n但如果行的内容有\r,则不将其视为新行.我需要将所有转换\r\n并获得正确的列表lines.

如果我在.split('\r')里面做,lines我会在列表中找到列表.

我想到打开一个文件,替换所有\r\n,关闭文件并重新阅读它,然后用readlines()但这似乎浪费.

我该如何实现呢?

Ned*_*ily 44

f = open('file.txt','rU')
Run Code Online (Sandbox Code Playgroud)

这将打开Python的文件通用换行符支持\r被视为最终的线.

  • ...虽然这个功能已弃用,但根据Python文档不应在新代码中使用. (3认同)
  • 在Python 3.x中,默认情况下会启用通用换行支持,因此您无需执行任何操作. (3认同)
  • 发现了问题。readlines() 对我来说永远失败,但 read().split("\r") 执行相同的功能并且有效。另外 .split("\n") 对我来说在每个文件上都永远失败,原因可能与 .readlines() 不起作用相同。这花了我几天时间才弄清楚!这是我第一次在 Mac 上进行专业工作,不幸的是,这让我绊倒了很长一段时间。这是 OSX 10.9.1 上的 python 2.7.5。不幸的是,打开“rU”文件并没有解决我的换行符/回车符问题。 (2认同)