python dict 的内存控制

yunfeifan yunfeifan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下边是我写的一段代码,随机生成100万条4列数据,并放到dict里边,然后把内容写到txt文件中


#!/usr/bin/python2.5
import random
import time

time.sleep(5)
shapes = {}
print "--------------START---------------------------"
for i in range(1000000):
shape_id = str(random.randint(0, 10000))
r1 = str(random.randint(0, 1000000))
r2 = str(random.randint(0, 1000000))
r3 = str(random.randint(0, 1000000))
r4 = str(random.randint(0, 1000000))
shapes.setdefault(shape_id, []).append([r1, r2, r3, r4])
print '---------------Dictionary---------------------'
time.sleep(5)

f = open("test.txt", "w")
for shape_id, res in shapes.items():
for (r1, r2, r3, r4) in res:
f.write(shape_id + ',' + r1 + ',' + r2 + ',' + r3 + ',' + r4 + '\n')
f.close()


当我执行的时候,生成了shapes的时候内存占用到达了200MB多,但是生成文件的时候只有30MB多一点,这是为什么能?这个办法能否有优化,因为我可能要导入500M的文件,像这样的话可能需要3-4g的内存空间来存储它,但是本地的内存显然不够,不知道大家有没有办法来优化它?

谢谢
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
yunfeifan
脚本语言 37,738 成员 34,208 内容