【发布时间】:2015-03-06 01:48:27
【问题描述】:
我正在尝试了解以下 MemoryError 的原因。 python中的字典是否有一些预定义的限制?
self.text 是从文件中读取的长字符串(大约 4.5 MB) L 等于 4641652
L = len(self.text)
test = {}
for i in xrange(L,0,-1):
try:
test[i] = self.text[i-1:]
except MemoryError:
print "Memory Error at the " + str(i) +"th iteration!"
print sys.getsizeof(test)
print len(test)
exit()
输出
Memory Error at the 4577890th iteration!
1573004
63762
如果有帮助,我将在具有 16gb 内存的 Windows 机器上运行该程序。
【问题讨论】:
-
哇,快回复@Marcin。我正在编辑我的问题以提供该答案。
-
是的。通常人们会在问题出现的那一刻阅读问题。所以它很快:-)
标签: python dictionary memory-leaks