相关疑难解决方法(0)

file.tell()不一致

有没有人碰巧知道为什么当你以这种方式迭代文件时:

输入:

f = open('test.txt', 'r')
for line in f:
    print "f.tell(): ",f.tell()
Run Code Online (Sandbox Code Playgroud)

输出:

f.tell(): 8192
f.tell(): 8192
f.tell(): 8192
f.tell(): 8192
Run Code Online (Sandbox Code Playgroud)

我一直从tell()获取错误的文件索引,但是,如果我使用readline,我会得到适当的tell()索引:

输入:

f = open('test.txt', 'r')
while True:
    line = f.readline()
    if (line == ''):
        break
    print "f.tell(): ",f.tell()
Run Code Online (Sandbox Code Playgroud)

输出:

f.tell(): 103
f.tell(): 107
f.tell(): 115
f.tell(): 124
Run Code Online (Sandbox Code Playgroud)

我正在运行python 2.7.1 BTW.

python file buffering python-2.7

40
推荐指数
2
解决办法
8154
查看次数

标签 统计

buffering ×1

file ×1

python ×1

python-2.7 ×1