栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python,使用CRLF照原样读取CRLF文本文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python,使用CRLF照原样读取CRLF文本文件

代替内置

open()
函数,使用
io.open()
。这使您可以更好地控制使用
newline
参数处理换行符的方式:

import iowith io.open(fn, 'rt', newline='') as f:    lines = f.readlines()

设置

newline
为空字符串,将启用通用换行符支持,但返回未翻译的行尾;您仍然可以使用
.readlines()
查找以任何合法行终止符终止的行,但是返回的数据与在文件中找到的数据完全相同:

输入时,如果newline为

None
,则启用通用换行模式。输入中的行可以以
'n'
'r'
或结束,在返回给调用方之前
'rn'
,这些行会被翻译成
'n'
。如果是
''
,则启用通用换行模式,但
行结尾未翻译地返回给呼叫者

强调我的。

这与以二进制模式打开文件不同,在二进制模式下,

.readlines()
文件只会按
n
字符分割。对于具有
r
行尾或混合行尾的文件,这意味着行将无法正确分割。

演示:

>>> import io>>> open('test.txt', 'wb').write('OnenTworThreern')>>> open('test.txt', 'rb').readlines()['Onen', 'TworThreern']>>> io.open('test.txt', 'r', newline='').readlines()[u'Onen', u'Twor', u'Threern']

请注意,

io.open()
还将文件内容解码为unipre值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659865.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号