关于阅读文件

时间:2012-12-13 12:24:30

标签: python python-2.7

当我尝试读取文件时,有一个奇怪的结果描述如下

代码是

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.我不知道原因。希望你能帮助我〜

1 个答案:

答案 0 :(得分:1)

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

只读5行:

from itertools import islice

for line in islice(f1, 5):
    print line,