0

我正在尝试读取将近 19 GB 的 XML 文件“Comments.xml”,但它会出现内存错误。我在每个 IDE 中都尝试过,但没有任何效果。我有 4 GB 内存。我也搜索了,谷歌搜索但没有找到任何线索:/我的代码是

我在每个 IDE 中都尝试过,但没有任何效果。我也搜索,谷歌搜索但没有找到任何线索:/

import xml.etree.ElementTree as ET
tree = ET.ElementTree(file='Comments.xml')
root = tree.getroot()
for rows in root:
    print(rows.attrib)

当我运行 IDE 棒一段时间后,我得到错误:第 598 行,在 parse self._root = parser._parse_whole(source) MemoryError

4

1 回答 1

0

我今天早上也遇到了这个问题,幸运的是我找到了最好的解决方案: xmltodict

为避免占用大量内存,您可以使用流模式,这是示例:

def handle_artist(_, artist):
    print(artist['name'])
    return True

xmltodict.parse(GzipFile('discogs_artists.xml.gz'),item_depth=2, item_callback=handle_artist)
于 2021-08-12T08:45:35.103 回答