需求
完成一个函数, 从文件中读取数据并按行解析
错误的实现
这样实现会将文件全部读入内存后才能返回所有解析好的数据列表,
在处理大文件时会变得非常慢,非常慢,非常慢
正确的实现
使用生成器的方式, 可以保留 open 提供的惰性读取特性, 使得内存占用很小
tips
当需要同时读取两个文件时, 不要使用 for i, j in zip(a, b)
去处理, 因为 zip
需要把 a, b 全部读入, 这样破坏了惰性读取的特性.
正确的做法:
主动调用生成器的 next 方法可以在使用多个生成器时保留其惰性.