我正在尝试使用ElementTree
Python包解析XML文件。但是,我得到OverflowError
,可能是因为XML很大(~2GB)。我确实看到这个问题被问到before。答案主要表明可能使用的是32位Python。但我的当然是64位,因为它也会在我启动翻译时报告。
以下是我运行的代码行:
import xml.etree.ElementTree as ET
xmlPath = os.path.join(codePath, 'data', 'nonmeta', name + '.xml')
xml_data = open(xmlPath, encoding="utf8").read()
root = ET.XML(xml_data)
最后一行产生以下异常:
文件" C:\ ProgramData \ Anaconda3 \ lib \ xml \ etree \ ElementTree.py",第1314行, XML parser.feed(文本)
OverflowError:size不适合int
我在Python 3.6.0上使用Windows 7,使用IPython 5.1.0作为解释器。有关解析数据可以做什么而不会出现此错误的任何建议?
编辑:为什么我认为它不是32位问题 操作系统是Windows 7.查看计算机属性时,它显示:
系统类型:64位操作系统
当我使用Spyder启动我的Ipython解释器时,启动消息说:
Python 3.6.0 | Anaconda 4.3.1(64位)| (默认,2016年12月23日, 11:57:41)[MSC v.1900 64 bit(AMD64)] Type" copyright"," credits"要么 "许可证"了解更多信息。
IPython 5.1.0 - 增强的交互式Python。