Python 导入 xml 不包含 xml.etree.ElementTree

jon*_*ipp 3 python xml namespaces module

当涉及到模块/库以提高可读性时,我喜欢在 python 中使用完整的命名空间。我想知道为什么这在 xml 库中不起作用。我import xml想还将导入 etree 和命名空间中的所有其他内容。至少这是我注意到其他模块的行为。

$ ptpython
>>> import xml

>>> dir(xml.etree.ElementTree)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'etree'
'module' object has no attribute 'etree'

>>> import xml.etree.ElementTree

>>> dir(xml.etree.ElementTree)
['Comment', 'Element', 'ElementPath', 'ElementTree', 'HTML_EMPTY', 'PI',...]
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 为什么 xml 库会发生这种情况?
  2. 有没有办法用短的东西导入它import xml

Bre*_*arn 5

我认为 import xml 还将导入 etree 和命名空间中的所有其他内容。至少这是我注意到其他模块的行为。

导入包不会自动导入该包中的子模块。确实,某些软件包为您方便是这样做的,但这不是默认行为。在这种情况下,您需要做您已经想到的事情:import xml.etree.ElementTree.