`
m4774411wang
  • 浏览: 108345 次
  • 性别: 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实现将Excel数据导入到MySQL数据库附项目源码

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

    Python包,__init__.py功能与用法分析

    __init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from … import * 语句使用的,__all__中定义的模块将在from … import * 中全部导入 目录结构: test1代码: package_...

    backend-numseq-package-assessment:创建自己的可导入python包

    概述-创建包 在本作业中,您将使用TDD方法创建用于计算各种数学序列的几个模块。 然后,将模块分组为具有顶级包名称numseq的分层包结构。... Python需要用于包定义的特定结构。 目录名称是在导入语句

    Python入门教程示例

    基本语法:介绍Python的基本语法规则,包括变量定义、数据类型、运算符、条件语句、循环结构等,帮助学习者理解Python程序的基本构成和执行流程。 数据结构:介绍Python中常用的数据结构,如列表、元组、字典和集合...

    Python实现模板打印

    定义模板:首先,定义一个包含特定占位符的模板字符串。占位符可以是固定的标记,如{name},或者使用更复杂的模板语法,如{{ name }}。 准备数据:准备需要填充到模板中的数据。这些数据可以是变量、字典或其他数据...

    全国计算机等级考试二级python的学习笔记

    - Python模块和包:模块的导入、包的创建和使用等。 2. Python面向对象编程 - 类和对象的概念,如何定义类和创建对象。 - 继承和多态的实现方式。 - 常用的Python标准库中的类,如文件操作、异常处理等。 3. ...

    Python 中文手册

    6.4.1. 从 * 导入包 6.4.2. 包内引用 6.4.3. 多重目录中的包 7. 输入和输出 7.1. 格式化输出 7.1.1. 旧式的字符串格式化 7.2. 文件读写 7.2.1. 文件对象方法 7.2.2. pickle 模块 8. 错误和异常 8.1. 语法错误 8.2. ...

    python学习笔记-王纯业

    数据结构 列表(list) 元组(tuple) 字典(Dictionary) 集合(Set) 文件操作 打开和关闭文件 读取和写入文件 文件路径处理 二、Python进阶 面向对象编程(OOP) 类和对象的概念 属性的定义和使用 方法的定义和...

    包以从Julia语言调用Python函数-Python开发

    您可以从Julia导入任意Python模块,调用Python函数(在Julia和Python之间自动转换类型),从Julia方法定义Python类,并在Julia和Python之间共享大型数据结构而无需复制它们。 从Julia语言调用Python函数此包提供了...

    Python编程零基础入门

    4-1函数及函数定义 4-2函数的参数_全局变量和局部变量 4-3内建函数及递归 4-4匿名函数 4-5函数式编程:map_reduce_filter_sorted_偏函数 5-1列表生成式 5-2迭代器 5-3生成器 5-4装饰器 5-5Python编程规范 6-1模块...

    Python核心编程第二版

     3.4.1 模块结构和布局   3.4.2 在主程序中书写测试代码   3.5 内存管理   3.5.1 变量定义   3.5.2 动态类型   3.5.3 内存分配   3.5.4 引用计数   3.5.5 垃圾收集   3.6 第一个Python...

    C2Py:轻松将 C 结构体转换为 Python!

    将内存转储导入到根据定义的 C 结构生成的 Python 类,加速调试和自动化测试。 它有什么作用? C2Py 可以帮助您将 C 结构和联合转换为具有相同字段、名称类型和所有内容的 Python 类! 但这还不是全部。 C2Py 可以...

    python http请求接口自动化

    总体结构包含:导入资源包、定义请求的url、定义请求头部信息、定义请求参数并根据真实情况进行参数化、发送请求、添加断言、打印请求内容、计算请求次数、计算每一次请求的耗时,一变性能评估。感兴趣的小伙伴可以...

    Python第一阶段笔记汇总.docx

    (一) Python 定义 6 (二) Python程序的执行方式 7 (三)Linux常用命令 7 (四)执行过程 8 (五)解释器类型 8 (六)调试 9 二 数据基本运算 9 (一)pycharm常用快捷键(编译器) 9 (二) 函数 函数名(参数) 10 (三)...

    python cookbook(第3版)

    10.3 使用相对路径名导入包中子模块 10.4 将模块分割成多个文件 10.5 利用命名空间导入目录分散的代码 10.6 重新加载模块 10.7 运行目录或压缩文件 10.8 读取位于包中的数据文件 10.9 将文件夹加入到sys.path...

    你的Python入门好帮手:一份包含了Python基础学习需要的知识框架 + 爬虫基础 + numpy基础

    Python是一种多范式编程语言,既适合面向对象编程,也适合函数式编程和过程式编程。它语法简洁明了,易于上手,因此成为许多人入门编程的首选语言。以下是对Python入门的一些补充说明: 1. Python基础知识 - 变量、数据...

Global site tag (gtag.js) - Google Analytics