Python文件对象提供了迭代器,该迭代器将逐行读取。file.readlines()
读取所有内容并返回一个列表- 这意味着它需要将所有内容读取到内存中。更好的方法(应该始终优先于readlines()
)是在对象本身上循环,例如:
import zipfile
with zipfile.ZipFile(...) as z:
with z.open(...) as f:
for line in f:
print line
注意我对with
语句的使用- 文件对象是上下文管理器,并且with语句使我们可以轻松地编写可读代码,以确保在退出该块时(即使发生异常)关闭文件。同样,在处理文件时应始终使用此方法。