因为您
.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模块更强大,更通用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)