如何在文件中使用for循环在Python中工作?

时间:2013-09-04 02:02:25

标签: python python-2.7

我有这段代码

f = open('textfile.txt', 'r')
for line in f:
    print line

让我们说textfile.txt就是这样的

1
2
3
4
5

这是如何工作的?它是如何知道文件中的位置的?我知道它是一遍又一遍地打印,但为什么不一遍又一遍地打印整个文件。我不知道f是一个范围。我还假设它知道停在EOF?

1 个答案:

答案 0 :(得分:5)

调用open()返回文件对象 - 即f是文件对象。 文件对象是它们自己的迭代器,实现next()方法,允许它们按照你的例子在for循环中使用。是的,迭代器实现知道停在EOF。 在file.next()方法详细信息下查看此处的说明: http://docs.python.org/2/library/stdtypes.html#bltin-file-objects