Generator 生成器
工作原理:generator 加载数据的时候只取一条,放入内存当中,当使用完毕之后该数据便被丢弃;
与list的区别:list 加载数据的时候是一次性把所有的数据都加载到内存中,这样当数据量比较大的时候,可能会导致内存爆炸。
list的优点在于可以重复使用。
代码区演示:
# 读取大文件
def read_large_file(file_name):
with open(file_name) as fp:
line = fp.readline()
while line:
if len(line) > 1:
yield line
data_generator = read_large_file('语料文件')