【发布时间】:2013-01-03 18:39:14
【问题描述】:
当您以这种方式迭代文件时,是否有人碰巧知道为什么:
输入:
f = open('test.txt', 'r')
for line in f:
print "f.tell(): ",f.tell()
输出:
f.tell(): 8192
f.tell(): 8192
f.tell(): 8192
f.tell(): 8192
我总是从 tell() 获得错误的文件索引,但是,如果我使用 readline,我会为 tell() 获得适当的索引:
输入:
f = open('test.txt', 'r')
while True:
line = f.readline()
if (line == ''):
break
print "f.tell(): ",f.tell()
输出:
f.tell(): 103
f.tell(): 107
f.tell(): 115
f.tell(): 124
我正在运行 python 2.7.1 BTW。
【问题讨论】:
-
只是涵盖了所需的问题:您确定您没有到达第一个示例中的文件末尾吗?
标签: python python-2.7 file buffering