2012-05-16 77 views

回答

4

通过文件收率迭代其所有行,例如:

for line in open("foo.txt"): 
    print line 

结果:

line1 

line2 

line3 

如果foo.txt是:

line1 
line2 
line3 

(额外的新行,因为line包括文件的换行符)。

因此,遍历一个类的实例,该类的源代码在结果中发布了一个代码段,迭代该实例的file的行。

+0

在这种情况下,mixin可能会被用作处理图像或其他非文本文件的类的基础。你为什么要遍历图像文件的每一行? – HighLife

+1

@HighLife如果这是一个python文件接口的实现,我想这完全是为了实现\ __ iter__方法或多或少是强制性的。 – XORcist

+0

python文件接口需要'__iter__'方法吗?我在哪里可以找到关于python文件界面的更多信息? – HighLife

2

__iter__当它作为参数传递给iter()时,会在某个对象上被调用。换句话说,如果你在幕后调用iter(a),Python默认最终会调用a.__iter__()

对于这个特定的实现,它会返回file成员的迭代器,无论这可能是什么。

相关问题