`
m4774411wang
  • 浏览: 112695 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

python 包的定义,结构,导入过程

 
阅读更多

 

假设你想设计一个模块集(也就是一个“python 包”)来统一处理声音文件和声音数据。通常由它们的扩展有不同的声音格式,例如:WAV,AIFF,AU), 所以你可能需要创建和维护一个不断增长的各种文件格式之间的转换的模块集合。并且可能要执行声音数据处理(如混合,添加回声,应用平衡功能),所以你写一 个永无止境的流模块来执行这些操作:模块设计的包如下:

sound/                          Top-level package
     __init__.py               Initialize the sound package
     formats/                  Subpackage for file format conversions
             __init__.py
             wavread.py
             wavwrite.py
             aiffread.py
             aiffwrite.py
             auread.py
             auwrite.py
             ...
     effects/                  Subpackage for sound effects
             __init__.py
             echo.py
             surround.py
             reverse.py
             ...
     filters/                  Subpackage for filters
             __init__.py
             equalizer.py
             vocoder.py
             karaoke.py
             ...

当导入包以后,Python通过sys.path中的目录来寻找包的子目录。 每一个包都必须有__init__.py文件,这样做是为了防止某些目录有一个共同的名字。在最简单的情况下,__ init__.py可以只是一个空文件,但它也可以执行包的初始化代码,包括设置__all__变量,稍后介绍。 我们可以从包中导入单个模块,

例 如: import sound.effects.echo 这会载入子模块sound.effects.echo。它必须引用全名。 sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)

另 外一种导入子模块的方法: from sound.effects import echo 这样就加载了echo子模块,没有包括包的前缀,因此它可以用作如下: echo.echofilter(input, output, delay=0.7, atten=4)

或者可以from sound.effects.echo import echofilter echofilter(input, output, delay=0.7, atten=4)

请注意,如果你使用包导入一个子模块(或子包),像一个函数,类或变量。 import语句首先测试导入的对象是否包中定义,如果没有,它假定这是一个模块,并尝试加载它。如果还没有找到,则会引发一个ImportError异常。

 

分享到:
评论

相关推荐

    Python-PackageModuleimporter用于导入来自JupyterNotebook文件的代码

    模块则是一个包含Python定义和语句的文件,可以被其他Python程序导入和使用。通过将Notebook代码转化为模块或包,我们可以遵循Python的模块化原则,提高代码的可重用性和可维护性。 使用"Python-...

    python 和C语言数据结构解析于构建

    ### Python与C语言数据结构解析及构建 #### 标题解析 标题“Python与C语言数据结构解析与构建”表明本文旨在探讨如何在Python中处理源自C语言的数据结构。特别地,关注点在于如何通过Python的`struct`模块来解析和...

    python包集合

    这使得在导入包时可以执行一些设置操作。 7. **包的相对导入** 在同一个包内,可以使用相对导入来引用其他模块。例如,在`maths/algebra.py`中,可以使用`from . import geometry`来导入同一包内的`geometry`模块...

    PYTHON包.zip

    当导入包时,Python会执行`__init__.py`中的代码,使得包内定义的变量、函数和类在导入时可见。 在处理ZIP文件时,Python的标准库提供了`zipfile`模块,可以用来读取、写入和操作ZIP归档文件。例如,要解压"PYTHON...

    python学习记录(包)

    1. **`__init__.py`文件的作用:** 这个文件可以定义包的初始化行为,还可以用来自动导入包中的模块。例如,在`my_package/__init__.py`文件中写入`from . import module1`,这样当导入`my_package`时,`module1`也...

    这是python包这是python包

    Python包的发布通常涉及到setup.py文件,它定义了包的信息,如版本、依赖关系等。Pip是Python的包管理器,用于安装和管理这些包。 在Python中,我们可以使用`import`语句来引入包,如果包不在当前工作环境中,pip...

    Python导入模块包原理及相关注意事项

    模块是一个包含Python定义和语句的文件,而包则是一系列模块的集合,以文件夹的形式存在,内部通常包含一个名为`__init__.py`的特殊文件。 **模块导入原理** 当Python导入一个模块时,它会执行以下步骤: 1. **创建...

    python3导入excel数据到mysql例子

    可以编写`CREATE TABLE`语句,定义表结构,确保与Excel文件中的列名和数据类型匹配。 6. **多线程**:为了提高导入速度,可以采用多线程技术。Python的`threading`模块可以帮助我们创建多个线程并行处理数据。每个...

    Aras Innovator系统配置-包导入导出

    导入包到新的Aras Innovator环境包括: 1. 准备环境:确保目标环境与源环境兼容,且已经完成必要的前期设置。 2. 解压包文件:将导入的ZIP文件解压缩,获取包定义和其他文件。 3. 使用导入工具:利用ConsoleUpgrade...

    python 目录结构

    2. **模块(modules)**:模块是包含Python定义和语句的文件,如函数、类和其他可重用代码。 3. **包(packages)**:包是一种组织模块的方式,通过创建包含`__init__.py`文件的子目录来实现。这使得Python能识别该...

    Python3导入自定义模块的三种方法详解

    在Python编程中,模块是代码组织的基本单位,它包含了可重用的函数、类和其他定义。模块化编程有助于代码的可读性和可维护性。在Python3中,有三种主要的方式来导入自定义模块,让我们详细地探讨每一种方法: 1. **...

    Python-直接从Python导入C文件

    Python提供了一种称为`ctypes`的库,可以直接导入C编译后的动态链接库(.so、.dll、.dylib等)以调用C函数。然而,如果C代码没有被编译成库,而是包含为源代码文件,那么就需要一种方法来直接从Python加载并执行这些...

    python 包引用的问题

    要导入包,你可以使用`import`语句。例如,导入`mypackage`包中的`submodule1`模块: ```python import mypackage.submodule1 ``` 或者,如果你想给模块取个别名,可以这样: ```python import mypackage....

    python 包、模块、函数与变量作用域视频讲解

    在Python中,模块是一个包含Python定义和语句的文件。模块可以定义函数、类以及变量,也可以包含可执行的代码。通过导入(import)其他模块,我们可以复用已编写好的代码,提高开发效率。例如,`math`模块提供了许多...

    python-PyQt5实现excel导入数据库demo

    【Python PyQt5实现Excel导入数据库】是一个基于Python的桌面应用程序示例,主要使用了PyQt5库来构建用户界面,并且实现了将Excel数据批量导入到数据库的功能。这个小工具适用于学习和研究,不建议用于商业用途。在...

    基于python实现将Excel数据导入到MySQL数据库附项目源码

    通俗来讲,Python 是一种少有的、既简单又功能强大的编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。 2.Python的应用范围 Python 在通用应用程序、自动化插件、网站、网络爬虫、数值分析、科学计算...

    python基础-模块的定义导入.pdf,展示了python2部分代码,实现了模块的定义调用等,供学习参考

    Python 模块是组织代码的基本单元,它是一个包含 Python 定义和语句的文件,通常以 `.py` 结尾。模块可以定义函数、类和变量,也可以包含可执行的代码。在 Python2 和 Python3 中,模块的导入和使用方式大体相同,但...

    RobotFramework框架之导入自己打包的python程序(十五).docx

    在此测试脚本中,我们首先通过`Library`指令导入了自定义的Python包,并在测试用例中调用了之前定义的`number_sum`方法。 #### 五、总结 通过本文的学习,我们了解了如何在RobotFramework框架中导入自定义的Python...

    Python-关于导入在Python中如何工作的指南

    在Python中,模块是一个包含Python定义和语句的文件,通常扩展名为`.py`。当我们在程序中使用`import`关键字时,就是在引入这个模块中的定义和功能。包则是一种更高级的模块组织方式,它可以包含多个子模块和子包,...

    Python模块包管理工具

    本文将详细介绍Python中的模块导入、包管理工具以及如何导入第三方模块等内容。 #### 模块与包的概念 - **模块**:在Python中,一个`.py`文件就是一个模块。模块包含了变量、函数和类等定义。 - **包**:包是一种...

Global site tag (gtag.js) - Google Analytics