在史前时代(Python 1.4) ,我们这样做:
fp = open('filename.txt')
while 1:
line = fp.readline()
if not line:
break
print(line)
在 Python 2.1之后,我们做了:
for line in open('filename.txt').xreadlines():
print(line)
在我们得到 Python 2.3中方便的迭代器协议之前,我们可以做:
for line in open('filename.txt'):
print(line)
我看到过一些使用更详细的例子:
with open('filename.txt') as fp:
for line in fp:
print(line)
这是未来的首选方法吗?
[ edit ]我知道 with 语句确保了文件的关闭... ... 但是为什么文件对象的迭代器协议中没有包含这一点呢?