我正在处理几个大的txt文件,每个文件大约有8000000行.这些行的一个简短例子是:
usedfor zipper fasten_coat
usedfor zipper fasten_jacket
usedfor zipper fasten_pant
usedfor your_foot walk
atlocation camera cupboard
atlocation camera drawer
atlocation camera house
relatedto more plenty
将它们存储在字典中的代码是:
dicCSK = collections.defaultdict(list)
for line in finCSK:
line=line.strip('
')
try:
r, c1, c2 = line.split(" ")
except ValueError:
print line
dicCSK[c1].append(r+" "+c2)
它在第一个txt文件中运行良好,但是当它运行到第二个txt文件时,我得到一个错误MemoryError.
我使用的是带有python 2.7 32bit,intel i5 cpu,8Gb内存的7位64位窗口.我该如何解决这个问题?
进一步解释:
我有四个大文件,每个文件包含许多实体的不同信息.例如,我想查找cat,其父节点动物及其子节点波斯猫等的所有信息.所以我的程序首先读取字典中的所有txt文件,然后我扫描所有字典以查找cat及其父亲及其子节点的信息.