我只是想解析一个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文件夹中看到:
那为什么不能拿起模块呢?我真的很困惑。我是否必须在某个环境变量中进行一些更改?
请帮忙。
答案 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的文件。