Python错误:ImportError:没有名为'xml.etree'的模块

时间:2015-11-10 15:46:24

标签: python xml python-3.x

我只是想解析一个XML文件:

import xml.etree.ElementTree as ET
tree = ET.parse('country_data.xml')
root = tree.getroot()

但是这给了我:

import xml.etree.ElementTree as ET
ImportError: No module named 'xml.etree'

我使用的是Python 3.5。我试过用Python 2.7和3.4编写相同的代码,但我总是得到这个错误。我认为XML库是标准的。另外,我可以在我的Lib文件夹中看到:

enter image description here

那为什么不能拿起模块呢?我真的很困惑。我是否必须在某个环境变量中进行一些更改?

请帮忙。

3 个答案:

答案 0 :(得分:19)

从当前目录中删除文件xml.py或其中包含文件xml的目录__init__.py,然后重试。 Python将在导入模块时首先搜索当前目录。当前目录中名为xml.py的文件或名为xml的程序包会影响标准库包的名称。

正如KeshV的评论中指出的那样,您还需要删除文件xml.pyc(如果存在)。在Python 2中,它将与xml.py位于同一目录中。在Python 3中,它将位于子目录__pycache__中。一般情况下,只要*.py文件存在,您就可以保存删除相应的*.pyc文件,因为Python会在导入*.py文件时重新创建它。

答案 1 :(得分:3)

您的脚本名称是:xml.py

更改它,它应该可以工作。

答案 2 :(得分:1)

本地.py文件将覆盖预定义的模块。删除当前文件夹中所有名为xml的文件。