使用Python对文件进行迭代

我有一个问题,以了解迭代一个文件,这里我继续我在解释器上键入的结果:

>>> f = open('baby1990.html', 'rU')
>>> for line in f.readlines():
>>>  print(line)

>>> ...
>>> ... all the lines from the file appear here
>>> ...

当我尝试重复相同的打开文件,我没有什么!

>>> f = open('baby1990.html', 'rU')
>>> for line in f.readlines():
>>>    print(line)
>>>
>>>

没有输出,解决这个我必须关闭()文件,然后再次打开它阅读!这是正常的行为吗?

是的,这是正常的行为。你基本上是读到文件的第一次(你可以排序的图片它读取磁带),所以你不能再读取它,除非你重置它,通过使用f.seek(0)到重新定位到文件的开头,或关闭它,然后再次打开它,将从文件的开头开始。

如果你喜欢你可以使用with语法,它会自动关闭文件为你。

例如。,

with open('baby1990.html', 'rU') as f:
  for line in f:
     print line

一旦这个块完成执行,文件将自动关闭,所以你可以重复执行这个块,而不需要自己关闭文件,然后再次读取文件。

http://stackoverflow.com/questions/10255273/iterating-on-a-file-using-python

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:使用Python对文件进行迭代