我一直试图解析一个文件xml.etree.ElementTree:
import xml.etree.ElementTree as ET
from xml.etree.ElementTree import ParseError
def analyze(xml):
    it = ET.iterparse(file(xml))
    count = 0
    last = None
    try:        
        for (ev, el) in it:
            count += 1
            last = el
    except ParseError:
            print("catastrophic failure")
            print("last successful: {0}".format(last))
    print('count: {0}'.format(count))
这当然是我的代码的简化版本,但这足以打破我的程序.如果删除try-catch块,我会在某些文件中出现此错误:
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    from yparse import analyze; analyze('file.xml')
  File "C:\Python27\yparse.py", line 10, in analyze
    for (ev, el) in it:
  File "C:\Python27\lib\xml\etree\ElementTree.py", line 1258, in next
    self._parser.feed(data)
  File "C:\Python27\lib\xml\etree\ElementTree.py", …