0

当我尝试读取文件时,出现如下描述的奇怪结果

代码是

f1=file('u1.base')
for line in f1.readlines()[0:5]:
print line    
train=f1.readlines()
f2=file('u1.test')
test=f2.readlines()
l_train=len(train)
l_test=len(test)
print l_train,l_test

结果是

1   1   5   874965758

1   2   3   876893171

1   3   4   878542960

1   4   3   876893119

1   5   3   889751712

0 20000

这表明火车的长度为0。我不知道原因。希望你能帮帮我~

4

1 回答 1

1

第一个f1.readlines()读取所有行(文件位置在文件末尾)。第二个f1.readlines()立即遇到 EOF 并返回空列表。您可以调用f1.seek(0)将文件位置移动到文件的开头。

只读取 5 行:

from itertools import islice

for line in islice(f1, 5):
    print line,
于 2012-12-13T12:40:13.313 回答