Python 2.7中的Open()和codecs.open()行为异常不同

Python 2.7中的Open()和codecs.open()行为异常不同,第1张

Python 2.7中的Open()和codecs.open()行为异常不同

因为您

.readline()
首先 使用,所以
precs.open()
文件已填充了行缓冲区;随后的调用
.readlines()
返回缓冲的行。 __

如果

.readlines()
再次 调用,则返回其余行:

>>> f = precs.open(filename, 'r3', encoding='utf-8')>>> line = f.readline()>>> len(f.readlines())7>>> len(f.readlines())71

解决方法是不要混合使用

.readline()
.readlines()

f = precs.open(filename, 'r3', encoding='utf-8')data_f = f.readlines()names_f = data_f.pop(0).split(' ')  # take the first line.

这种行为确实是一个错误。Python开发人员已意识到这一点,请参阅问题8260。

另一种选择是使用

io.open()
代替
precs.open()
;
io
库是Python 3用于实现内置
open()
功能的库,比该
precs
模块更强大,更通用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存