Python 中的模块和包有什么区别?

2024-01-19

Python 中的模块和包有什么区别?

也可以看看:“包”和“模块”有什么区别? https://stackoverflow.com/questions/3680883/whats-the-difference-between-package-and-module(对于其他语言)


  • 任何Python文件都是module http://docs.python.org/tutorial/modules.html,其名称是文件的基本名称 没有.py扩大。
  • A package http://docs.python.org/tutorial/modules.html#packages is a 收藏Python 模块的组成:模块是 单个Python文件,包是Python模块的目录 包含一个额外的__init__.py文件,区分包 来自恰好包含一堆 Python 的目录 脚本。包可以嵌套到任意深度,前提是 相应的目录包含自己的__init__.py file.

之间的区别module and package似乎只适用于文件系统级别。当您导入一个module or a package,Python创建的对应对象总是类型module。但请注意,当您导入package,仅变量/函数/类__init__.py那个文件package是直接可见的,not 子包 or modules.


Example

作为一个例子,考虑xmlPython标准库中的包:其xml目录包含一个__init__.py文件和四个子目录;子目录etree包含一个__init__.py文件,以及除其他外,ElementTree.py file.

看看当您尝试交互式导入包/模块时会发生什么:

>>> import xml
>>> type(xml)
<type 'module'>
>>> xml.etree.ElementTree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'etree'
>>>
>>>
>>> import xml.etree
>>> type(xml.etree)
<type 'module'>
>>> xml.etree.ElementTree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ElementTree'
>>>
>>>
>>> import xml.etree.ElementTree
>>> type(xml.etree.ElementTree)
<type 'module'>
>>> xml.etree.ElementTree.parse
<function parse at 0x00B135B0>

NOTE

在Python中也有built-in https://docs.python.org/3/tutorial/modules.html#standard-modules模块,例如sys,是用 C 编写的,但我认为您无意考虑问题中的那些内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的模块和包有什么区别? 的相关文章

  • 缺少 python 配置

    我正在安装一个程序 需要安装 python config 唯一的问题是我目前没有 python config 而且我似乎不知道如何获取它 经过搜索后 我应该可以通过以下方式安装它 yum install python devel 然而 这样
  • Pytorch 损失为 nan

    我正在尝试用 pytorch 编写我的第一个神经网络 不幸的是 当我想要得到损失时遇到了问题 出现以下错误信息 RuntimeError Function LogSoftmaxBackward0 returned nan values in
  • 是否可以将名为“None”的值添加到枚举类型?

    我可以将名为 None 的值添加到枚举中吗 例如 from enum import Enum class Color Enum None 0 represent no color at all red 1 green 2 blue 3 co
  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • 映射器无法组装任何主键列

    我从 sqlite 表创建了一个临时表 该表是基于各种选择标准的原始表的子集 屏幕截图中有一个示例 我试图一次循环一个表记录 以便更新每个记录中的字段 我有 source table self source engine create en
  • python中的语音识别持续时间设置问题

    我有一个 Wav 格式的音频文件 我想转录 我的代码是 import speech recognition as sr harvard sr AudioFile speech file wav with harvard as source
  • 将图像转换为二进制流

    我的应用程序有两个方面 一方面我使用 C 来使用 Pleora 的 EBUS SDK 从相机读取帧 当第一次接收到该流时 在将缓冲区转换为图像之前 我能够一次读取 16 位流 以便对每个像素执行一些计算 即每个像素都存在一个 16 位数据块
  • Flask-httpauth: get_password 装饰器如何为 basic-auth 工作?

    我想知道有没有人用过这个烧瓶延伸 https github com miguelgrinberg flask httpauth简化 http basic auth 基本上我不明白这个example https github com migu
  • 设置区域设置和字符串模块

    这个简单的脚本 from locale import LC ALL setlocale print setlocale LC ALL from string import letters print letters 给我这个输出 tr TR
  • 遍历 globals() 字典

    我 尝试 使用globals 在我的程序中迭代所有全局变量 我就是这样做的 for k v in globals iteritems function k v 当然 这样做时 我只是创建了另外 2 个全局变量 k and v 所以我得到这个
  • 如何将 Jinja 与 Twisted 一起使用?

    我正在计划使用 Python 与 Twisted Storm 和 Jinja 一起开发一个讨论软件 问题是 Jinja 不是为 Twisted 或异步套接字库而设计的 并且使用 Twisted 提供的性能是我不打算使用 Flask 的原因
  • __subclasses__ 没有显示任何内容

    我正在实现一个从适当的子类返回对象的函数 如果我搬家SubClass from base py 没有出现子类 subclasses 它们必须在同一个文件中吗 也许我从来没有直接导入subclass py对Python隐藏子类 我能做些什么
  • 可变和不可变类变量如何初始化?

    运行下面的示例代码 class S i 0 a def init self self i 1 self a append 1 s1 S print s1 i s1 a s2 S print s2 i s2 a 输出将是 1 1 1 1 1
  • 在 Python 中将 int 转换为 ASCII 并返回

    我正在为我的网站制作一个 URL 缩短器 我当前的计划 我愿意接受建议 是使用节点 ID 来生成缩短的 URL 因此 理论上 节点 26 可能是short com z 节点 1 可能是short com a 节点 52 可能是short c
  • 使用 pythons strftime 显示日期,例如“5 月 5 日”? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 日期顺序输出 https stackoverflow com questions 739241 python date ordinal output 在Python中 time strf
  • captureWarnings 设置为 True 不会捕获警告

    我想记录所有警告 我以为这样的设定captureWarnings to True应该可以解决问题 但事实并非如此 代码 import logging import warnings from logging handlers import
  • 没有名为 urllib.parse 的模块(我应该如何安装它?)

    我正在尝试在 CentOS 7 上运行 REST API 我读到 urllib parse is in Python 3 但我使用的是 Python 2 7 5 所以我不知道如何安装此模块 我安装了所有要求 但仍然无法运行该项目 当我寻找
  • 带回溯的 Dijkstra 算法?

    In a 相关主题 https stackoverflow com questions 28333756 finding most efficient path between two nodes in an interval graph
  • 如何点击 Google Trends 中的“加载更多”按钮并通过 Selenium 和 Python 打印所有标题

    这次我想单击一个按钮来加载更多实时搜索 这是网站的链接 该按钮位于页面末尾 代码如下 div class feed load more button Load more div 由于涉及到一些 AngularJS 我不知道该怎么做 有什么提
  • 使用 PuLP 进行线性优化,变量附加条件

    我必须用 Pull 解决 Python 中的整数线性优化问题 我解决了基本问题 现在我必须添加额外的约束 有人可以帮助我用逻辑指示器添加条件吗 逻辑限制是 如果 A gt 20 则 B gt 5 这是我的代码 from pulp impor

随机推荐

  • “结合更牢固”这句话是什么意思?

    我知道这可能是一个新手问题 但我试图理解这句话 来自一篇关于使用 EBNF 的元语言的论文 Logical and binds stronger than logical or 在此之前它说 Conditions are condition
  • 无法从 master 连接到 kubernetes pod:i/o 超时

    我配置了 1 个主节点和一个节点的 kubernetes 集群 运行主节点和节点的机器不在同一网络中 对于网络 我安装了 calico 并且所有 pod 都在运行 为了测试我使用的集群获取外壳示例 https kubernetes io d
  • 用 Java 写入文件

    我对 Java 很陌生 由于某种原因我无法写入文件 我的代码如下所示 FileWriter fstream try fstream new FileWriter fileLocation BufferedWriter out new Buf
  • 如何定期更新 Label 控件的值?

    我试图让标签显示一些文本 然后在一段时间后刷新自身并能够稍后重新显示其他内容 但目前我不知道如何使标签暂停 如果可能的话 到目前为止我的代码 foreach var x in mod labelWARNING Visible true la
  • 全屏纹理采样的最佳方式

    在片段着色器中采样全屏纹理的最佳方法是什么 例如延迟渲染器中的 g 缓冲区 或后处理着色器中的场景纹理 目前我使用以下两种方式 将屏幕尺寸作为统一值传递给着色器并计算 u v gl FragCoord vec2 texCoord gl Fr
  • 在 .each 循环中显示一个条目的模式 - Rails / Bootstrap

    我想要一个链接来打开一个模式 显示单击的对象 word title 显示在每个循环中 现在它会打开模式 但随后会为循环中的每个项目再次显示它 h1 Glossary of words h1 p Pagination at 25 p tabl
  • 如何将 CSV 或 JSON 导入到 firebase cloud firestore

    有没有办法像 Firebase 实时数据库一样将 CSV 或 JSON 导入到 firebase cloud firestore 通用解决方案 我发现许多脚本允许上传 JSON 但没有一个允许子集合 我上面的脚本处理任何级别的嵌套和子集合
  • 如何使用XNA加载文件夹中的所有文件?

    我想加载文件夹中的所有文件 内容 纹理 进入游戏使用Content Load 文件名 但是 我无法以这种方式 找到 位于 Content 内的文件 该程序而是查看 bin 调试 内容 纹理 但是当尝试使用 Content Load 加载 j
  • 模板类成员特化声明

    当我在模板类中专门化一个 静态 成员函数 常量时 我 对声明的去向感到困惑 这是我要做什么的一个例子 直接来自IBM 关于模板专业化的参考 http publib boulder ibm com infocenter comphelp v8
  • Koa 中的 Promise 错误处理

    如果我在 Koa 中做出承诺 它们可能会被拒绝 function fetch var deferred q defer Some async action which calls deferred reject return deferre
  • 如何让Android上的工具栏占据全宽?

    结果如下 https i stack imgur com VgbZT png https i stack imgur com VgbZT png 我希望它位于状态栏正下方且全宽 就像这样 https i stack imgur com FF
  • Internet Explorer 8 在哪里存储其故障转储?

    我正在对抗一个错误 该错误不会在我的计算机上重现 但每次都会在我客户的计算机上重复 我已经尝试了一切 现在我正在寻找 IE8 崩溃后留下的任何调试数据 或其他数据 谷歌和微软的搜索没有给我任何结果 Internet Explorer 8 在
  • npm 错误! npm install 时代码 EINTEGRITY

    当我尝试进行 npm install 时 出现此错误 npm ERR code EINTEGRITY npm ERR sha512 boQj1WFgQH3v4clhu3mTNfP vOBxorDlE8EKiMjUlLG3C4qAESnn9A
  • 将 div 定位到包含 div 的底部

    如何将 div 定位到包含 div 的底部 div class outside div class inside inside div div 此代码将文本 inside 放置在页面底部 outside width 200px height
  • aov 公式错误项:矛盾的例子

    我已经看到了 R 中受试者内设计的通用公式的两种基本方法aov R 随机 X 依赖 W 内 B 之间 Pure within X Error R W1 W2 or X W1 W2 Error R W1 W2 Mixed X B1 B2 Er
  • deep=True 在 pyyaml.Loader.construct_mapping 中做什么?

    在网上搜索自定义构造函数的用法时 我看到如下内容 def some constructor loader node value loader construct mapping node deep True return SomeClass
  • Fortran I/O:指定大记录大小

    我正在尝试将一个数组写入文件 我以这种方式打开文件 open unit 20 FILE output txt form unformatted access direct recl sizeof u Here u是一个数组并且sizeof
  • 如何调整散景轴上的刻度数(标签在小数字上重叠)

    我有一个由垂直堆叠和对齐的图形组成的多图形散景图 因为我想垂直对齐图 所以 y 轴标签旋转为垂直而不是水平 在某些情况下 散景会产生太多刻度 以致刻度标签完全重叠 导致难以辨认 这是一个例子 import bokeh plotting as
  • 我的中断处理程序应该禁用中断还是 ARM 处理器自动执行此操作?

    我们的小组使用定制驱动程序在共享 I2C 总线上连接四个 MAX3107 UART 四个 MAX3107 的中断连接 即通过逻辑或运算共享中断 到 ARM9 处理器 LPC3180 模块 上的 GPIO 引脚 当这些设备中的一个或多个中断时
  • Python 中的模块和包有什么区别?

    Python 中的模块和包有什么区别 也可以看看 包 和 模块 有什么区别 https stackoverflow com questions 3680883 whats the difference between package and