首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将\r文本转换为\n以使readlines()按预期工作

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

Stack Overflow用户
提问于 2009-11-24 02:58:13
回答 2查看 18.2K关注 0票数 18

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

代码语言:javascript
复制
f = open('file.txt','r')
lines = f.readlines()

每一行都由\n分隔,但是如果一行的内容包含\r,则不会将其视为新行。我需要将所有\r转换为\n,并获得正确的列表lines

如果我在lines中执行.split('\r'),我会得到列表中的列表。

我想打开一个文件,将所有的\r替换为\n,关闭文件并再次读取它,然后使用readlines(),但这似乎是浪费。

我应该如何实现它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-24 03:04:43

代码语言:javascript
复制
f = open('file.txt','rU')

这将使用Python的universal newline support打开文件,并将\r视为行尾。

票数 43
EN

Stack Overflow用户

发布于 2009-11-24 03:18:02

如果这是一个问题,以二进制格式打开,并使用以下代码进行转换:

代码语言:javascript
复制
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')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1785233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档