【发布时间】:2014-08-08 15:30:25
【问题描述】:
我有以下问题:
chunks = []
#He we have an out of memory
for i in range(chunks_count):
chunk_info = {'offset': struct.unpack('<I', stream_file.read(int_length))[0],
'length': struct.unpack('<I', stream_file.read(int_length))[0]}
chunks.append(chunk_info)
上面的代码内存不足,chunk_size 为 2315780096 是很合理的。有没有更好的方法来编写这段代码不耗尽内存?
【问题讨论】:
-
在 Python 2 中,您可以改用
xrange。在 Python 3 中,range已经返回了一个类似生成器的对象。还是chunks.append中的内存错误? -
什么是
chunk_size?你的意思是chunks_count?还是int_length? -
你有足够的内存来表示 anything 中的 2315780096 个,更不用说数组中的字典了吗?
-
假设大部分内存用于内容
chucks列表,那你用它做什么呢?