在使用readline之前,为什么在文件中的行的python循环中没有通过所有行?

时间:2014-01-17 08:49:26

标签: python readline

为什么在使用readline之前,文件中的行的python循环没有通过所有行?如何在读取循环的某些行之后实现该操作将遍历文件中的所有行?

file = open("file.xyz", "r")
first_line = file.readline()

for line in file:
  x,y,z = line.split()

3 个答案:

答案 0 :(得分:2)

从文件读取会将“内部指针”更改为文件以进行下一次读取操作。尝试:

file.seek(0)
在for循环之前

答案 1 :(得分:1)

因为文件知道其位置file.tell

答案 2 :(得分:1)

要返回file的开头,请使用

file.seek(0)

至于为什么会发生这种情况:从文件中读取有点像播放磁带,读取磁头沿着磁带移动。从文件中读取一行后,“读头”现在位于下一行的开头。使用seek可让您“快退”和“快进”到指定的点。

参考:Python docs