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

Memory Error Python while processing large database

当我 运行 在 Pycharm 4 上 windows 时,我在这段代码中遇到错误:

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

这是错误信息:

Traceback (most recent call last): File "C:/Users/LuisAlberto/PycharmProjects/MSc/SeqPDBSumIRIndex.py", line 98, in main() File "C:/Users/LuisAlberto/PycharmProjects/MSc/SeqPDBSumIRIndex.py", line 40, in main PDBSum = PDBSumWWW.read().splitlines() MemoryError

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

我该如何克服这个问题?

这是我能想到的最简单的方法来解决你的问题。
在此解决方案中,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()