内存错误Python处理大型数据库时

时间:2015-10-14 20:24:07

标签: python memory pycharm

当我在Windows上的Pycharm 4上运行时,我在此代码中出错:

PDBSumWWW = urllib.urlopen("https://www.ebi.ac.uk/thornton-srv/databases/pdbsum/data/seqdata.dat")
PDBSum = PDBSumWWW.read().splitlines()
PDBSumWWW.close()

这是错误消息:

  

追踪(最近一次通话):     文件“C:/Users/LuisAlberto/PycharmProjects/MSc/SeqPDBSumIRIndex.py”,第98行,in       主要()     文件“C:/Users/LuisAlberto/PycharmProjects/MSc/SeqPDBSumIRIndex.py”,第40行,主要       PDBSum = PDBSumWWW.read()。splitlines()   的MemoryError

然而,当在Macbook Air上运行时,它不会发生。

我该如何克服这个?

1 个答案:

答案 0 :(得分:4)

这是我能想到解决问题的最简单的解决方案。
在这个解决方案中,for循环将迭代数据库中的每一行。
每一行都将分配给line变量。

PDBSumWWW = urllib.urlopen("https://www.ebi.ac.uk/thornton-srv/databases/pdbsum/data/seqdata.dat")
for line in PDBSumWWW:
    # Do necessary calculations. 
PDBSumWWW.close()