擅长:python、mysql、java
<p>根据mgilson的回答:</p>
<pre><code>from xml.etree import ElementTree
try:
# python 2.7+
# pylint: disable=no-member
ParseError = ElementTree.ParseError
except ImportError:
# python 2.6-
# pylint: disable=no-member
from xml.parsers import expat
ParseError = expat.ExpatError
try:
doc = ElementTree.parse(<file_path>)
except ParseError:
<handle error here>
</code></pre>
<ul>
<li>根据Python的版本在运行时定义ParseError。根据是否引发ImportError异常推断Python版本</li>
<li>添加pylint disable指令以不中断pylint验证</li>
<li>由于某些原因,如果只导入了xml,则ParseError=xml.etree.ElementTree.ParseError和ParseError=xml.parsers.expat.ExpatError失败;etree和expat模块的中间导入修复了此问题</li>
</ul>