生成器内存使用与循环内存使用

时间:2019-07-04 15:47:49

标签: python memory

最近我已经学习了很多有关python生成器的知识,并且我对它们的内存使用情况有疑问。

有两种方法可以做同一件事:

首先使用生成器

import pandas as pd
from glob import glob

csvlist = glob("/path/to/my/data/*.csv")
df_gen = (pd.read_csv(file) for file in csvlist)

for df in df_gen:
    # do your processing here
    process_data(df)

现在没有

import pandas as pd
from glob import glob

csvlist = glob("/path/to/my/data/*.csv")

for csv in csvlist:
    df = pd.read_csv(csv)
    # do your processing here
    process_data(df)

我知道生成器方式会将每个数据帧一次加载到内存中。但是,这是否比第二种方式(仅从循环内的每个CSV读取数据)提高了内存效率?

0 个答案:

没有答案