第一:我知道任何想要帮助的人都会要求提供演示错误的代码。这将需要一个项目的ZIP文件,我不知道如何将文件附加到StackOverflow问题。如果有人告诉我怎么上传,我会很高兴的
这是一个“我没有改变任何东西,但它坏了”的环境,环境是Windows 10、Python 3.8和PyCharm 2019.3.5
几周前,我让项目处于完全调试状态。今天我添加了一个函数定义和对它的调用。现在,当程序尝试为XML树创建解析器时失败了。。。在调用新函数之前
在脚本的早期,我从xml导入etree:
from xml import etree
在出现故障时,我尝试创建一个解析器:
_parser = etree.ElementTree.XMLParser(encoding="iso-8859-1")
我得到的信息是:
Connected to pydev debugger (build 193.7288.30)
Traceback (most recent call last):
File "C:/Users/... /PartConfig/PartConfig.py", line 47, in <module>
_parser = etree.ElementTree.XMLParser(encoding="iso-8859-1")
AttributeError: module 'xml.etree' has no attribute 'ElementTree'
我有一个“except”块,但它从未被执行,因为它的作用域是etree.ElementTree.ParseError
从表面上看,错误信息完全是错误的。我知道脚本找到了etree.ElementTree,因为它运行时超过了import语句,当我将模块名称拼错为实验时,它就失败了。ElementTree是标准Python库中xml.etree的一个元素,因此我想不出脚本有什么办法会像它那样失败。消息一定是想告诉我什么,但是什么
您必须使用以下语法:
正如@Fred Larson在他的评论中解释的那样,您必须导入模块本身,
etree
是一个包否。导入语句是
from xml import etree
。这没有提到ElementTree
etree
是一个目录。该目录包含一个名为ElementTree.py
的文件,但您不能通过简单地导入etree
来访问它。(如果etree/__init__.py
导入了ElementTree,您可能会这样做,但在本例中它不会)正如@arsalan所说,您必须显式地导入ElementTree
相关问题 更多 >
编程相关推荐