python - from x import y 和 import x.y 之间的区别

标签 python import

所以我很困惑有什么区别......这里有一些代码来显示我的困惑:

>>> import collections.OrderedDict as od
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named OrderedDict
>>> from collections import OrderedDict as od
>>> od
<class 'collections.OrderedDict'>

说明:

import collections.OrderedDict 没有找到该模块,但是 from collections import OrderedDict 找到了它?! 这两种说法有什么区别?

该类被读取为collections.OrderedDict,所以我不明白为什么第一次尝试无法找到该模块

注意:

我只是使用collections举个例子。我并不是在具体寻找为什么我的示例会像集合那样运行,而是解释不同的代码行在导入时实际请求的内容。如果您想对错误进行解释,请随意!谢谢!

最佳答案

OrderedDictcollections 模块中的一个类。当您看到像 x.y 这样的东西并且正在从中导入某些东西时,这意味着在这种情况下“y”实际上是一个模块。

您应该阅读有关 import 如何工作的文档:here 。它很长而且很复杂,但同时又相当简单地说明了如何研究不同的包和模块以找到应该发挥作用的内容。具体来说,导入statement本身和 import system .

关于python - from x import y 和 import x.y 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55470412/

相关文章:

mysql - 为什么我无法导入数据库

iphone - 如何将大量数据从文件导入到应用程序内部的 sqlite(实时)

python - 如何检查矩阵是否包含零列?

python - 权限错误 : [Errno 13] Permission denied

Python 夏娃 0.8 : how to perform a $geowithin with a $centerSphere?

java - android如何使用php上传图像并插入标题到mysql

node.js - tensorflow 导入时出现意外标记 *

import - 控制 MySQL 转储/导入的日期时间格式

python - 为什么 iloc() 的一种使用给出了 SettingWithCopyWarning,而另一种却没有?

python - 在 Python 字典中查找最高值