Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中导入库_Python_Xml_Python 2.7 - Fatal编程技术网

在Python中导入库

在Python中导入库,python,xml,python-2.7,Python,Xml,Python 2.7,我是Python新手,所以这个问题可能很简单。但我试图在互联网上搜索,却没有找到解释 我试图模仿一个处理xml的简单脚本,它在其中导入以下内容 from xml.etree import ElementTree from xml.etree.ElementTree import Element from xml.etree.ElementTree import SubElement 问题:为什么会这样 为什么我不能说导入xml.etree,而其他的就像祖先一样。甚至只有导入xml。我试过了,但

我是Python新手,所以这个问题可能很简单。但我试图在互联网上搜索,却没有找到解释

我试图模仿一个处理xml的简单脚本,它在其中导入以下内容

from xml.etree import ElementTree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement
问题:为什么会这样


为什么我不能说导入xml.etree,而其他的就像祖先一样。甚至只有
导入xml
。我试过了,但不起作用。为什么?

您应该能够做到:

from xml.etree.ElementTree import  *
但是,这是一种糟糕的形式,因为不同的包导入可能会有冲突的名称。最好是指定您想要的确切类,并根据需要对它们进行别名——您可能会认为类名称(如
Element
)非常常见,并且可能会发生冲突

我建议基本上坚持你的原创:

  from xml.etree import ElementTree
  from xml.etree.ElementTree import Element, SubElement
我认为您遇到的困惑是,您有一个以文件命名的类的混合体,其中还包含其他类

第一个将从文件
ElementTree
导入类
ElementTree
,这是惯例。第二行将导入类
Element
SubElement
,它们也恰好位于文件
ElementTree

这也会起作用,而且更加简洁:

  from xml.etree.ElementTree import  ElementTree, SubElement, Element

是的,事实上,这是一个可怕的方式,你问me@Ray,谢谢你的回复。但是当我从xml.etree import*这样做时,仍然会出现以下错误:<代码>名称错误:未定义名称“ElementTree”。只有当我从xml.etree import ElementTree将其设置为这样时,错误才会出现。如果您尝试过从xml.etree.ElementTree import*@khaledmage执行
,现在我明白了。Danke:)您可以只导入xml
,但是每次您想使用该类时,您都必须编写整个
xml.etree.ElementTree.Element