Python 2.7.16-ImportError:没有名为etree.ElementTree的模块

Python 2.7.16-ImportError:没有名为etree.ElementTree的模块,python,xml,import,element,elementtree,Python,Xml,Import,Element,Elementtree,我正在制作一个脚本,用于创建数据并将其写入XML文件。错误是没有模块没有模块名 我指的是这个stackoverflow链接。我参考本教程。我仍然不明白解决办法是什么。我试着替换 “从elementtree导入elementtree” 到 “从xml.etree导入元素树” 它仍然不起作用 #!/usr/bin/python import xml.etree.ElementTree as xml root = xml.Element("FOLDER") child = xml.Element("

我正在制作一个脚本,用于创建数据并将其写入XML文件。错误是没有模块没有模块名

我指的是这个stackoverflow链接。我参考本教程。我仍然不明白解决办法是什么。我试着替换

“从elementtree导入elementtree”

“从xml.etree导入元素树”

它仍然不起作用

#!/usr/bin/python
import xml.etree.ElementTree as xml
root = xml.Element("FOLDER")

child = xml.Element("File")

root.append(child)

fn = xml.SubElement(child, "PICTURE")
fn.text = "he32dh32rf43hd23"
md5 = xml.SubElement(child, "CONTENT")
md5.text = "he32dh32rf43hd23"

tree = xml.ElementTree(root)
with open(xml.xml, "w") as fh:
   tree.write(fh)
“”“ 我希望结果是将数据写入xml文件。但我收到了如下所示的错误

  File "./xml.py", line 2, in <module>
    import xml.etree.ElementTree as xml
  File "/root/Desktop/virustotal/testxml/xml.py", line 2, in <module>
    import xml.etree.ElementTree as xml
```ImportError: No module named etree.ElementTree
文件“/xml.py”,第2行,在
将xml.etree.ElementTree作为xml导入
文件“/root/Desktop/virustotal/testxml/xml.py”,第2行,在
将xml.etree.ElementTree作为xml导入
```ImportError:没有名为etree.ElementTree的模块

etree软件包由“ElementTree”和“lxml”提供,两者类似,但据报道ElementTree在Python2.7中有缺陷,在python3中工作得很好。 我知道您使用的是Python2.7,所以lxml对您来说很好

试试这个

from lxml import etree
from io import StringIO

tree = etree.parse(StringIO(xml_file))
# incase you need to read an XML.

print(tree.getroot())
StringIO来自默认的python io包。 当您向它传递文件时,StringIO是必需的(我的意思是将XML放入文件并将该文件传递给解析器)。 当您将XML作为一个大字符串传递时,即使很难做到这一点也很好。
所有写入操作都将是相同的。

将xml.etree.ElementTree导入为xml

如果您使用自己的xml模块,请确保在同一文件夹中有
\uuuu init\uuuu.py
文件,并避免路径冲突


然后它就会工作。

您正在编写自己的
xml
模块,并将其隐藏在标准库中。抱歉。我没有复制导入xml模块。但是,在添加导入模块后,它仍然不工作。请善意地建议。不要调用您的文件
xml.py
。这是一个名称。调用文件xml.py有什么风险我已经告诉过你,你正在标准库中隐藏同名的模块。虽然这段代码可能会回答这个问题,但提供关于它如何和/或为什么解决问题的附加上下文将提高答案的长期价值。io模块是必要的吗?我认为lxml就足够了。@AbdullahNaina现在给出解释。我不知道我不想改为解析XML,我想创建并编写XML文件。@AbdullahNaina,在这种情况下,您可以不使用StringIO就使用它。init.py与此有何关系?