我有一个非常大的 XML 文件(准确地说是 20GB,是的,我需要全部)。当我尝试加载文件时,我收到此错误:
Python(23358) malloc: *** mmap(size=140736680968192) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "file.py", line 5, in <module>
code = xml.read()
MemoryError
这是我拥有的当前代码,用于读取 XML 文件:
from bs4 import BeautifulSoup
xml = open('pages_full.xml', 'r')
code = xml.read()
xml.close()
soup = BeautifulSoup(code)
现在,我将如何消除此错误并能够继续编写脚本。我会尝试将文件拆分为单独的文件,但由于我不知道这会如何影响 BeautifulSoup 以及 XML 数据,我宁愿不这样做。
(XML 数据是我自愿参加的一个 wiki 的数据库转储,使用它导入来自不同时间段的数据,使用来自许多页面的直接信息)