内存不足时,python如何处理大文件 – Python量化投资

内存不足时,python如何处理大文件

当下设备越来越便宜,配置越来越高,大多数时候帮助我们解决了诸多问题,代码上省事儿太多了。

而且,数据加载到内存再处理,速度相当快哈。

可就算你的内存32G,要处理个上白G的文件、上T的文件,咋整?

 

以读取文本文件为例,python有两种方法:

f = open(filename, '打开方式', encoding=编码)

① for line in f

 ② for line in f.readlines()

for line in f 语句将 file 对象转换成 iterable object ,

既然是可迭代对象,一次只加载一个 item ,解释器不会将所有 items 放进内存,因此节省了资源。

在 python 2.3 以前,要用 f.xreadlines()方法读大文件,它和 xrange 的作用一样,都是处理 iter(object),但在 2.3 后,官方明确用 for line in f 读取大文件。 

for line in f.readlines() 语句和第一个类似,但是它先执行 f.readlines(),直接把 file 对象中所有的 line items 列表存进内存,在它们之上进行循环读取。 

因此,读取大文件时用第一个语句,一般小文件这两个都可以。

 

当然了,为了提高效率

【请原谅我写了一半保存草稿,当我再次发现本文时,忘记了上述未写完的一句话的后面是什么 泪啊。】

 

未完成……

 

梦想协奏曲!少女乐团派对!下载
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论