【摘要】python可以用来做很多事情,python的包到底要怎么用?假设您要设计一个模块集合(“包”),用于统一处理声音文件和数据,那么python的包到底要怎么用?学会以后就是新世界的大门,所以你知道python的包到底要怎么用?学会以后就是新世界的大门。
python的包到底要怎么用?假设您要设计一个模块集合(“包”),用于统一处理声音文件和数据。因为有许多不同的声音文件格式(通常由它们的扩展名标识,例如,。WAV,。艾夫,。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的包到底要怎么用?当导入这个包时,Python搜索 sys.path 里的目录,查找包的子目录。
必须要有 __init__.py 文件才能让 Python 将包含该文件的目录当作包。 这样可以防止具有通常名称例如 string 的目录在无意中隐藏稍后在模块搜索路径上出现的有效模块。 在最简单的情况下,__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
同样,这也会加载子模块 echo,但这会使其函数 echofilter() 直接可用:
echofilter(input, output, delay=0.7, atten=4)
python的包到底要怎么用?请注意,当使用 from package import item 时,item可以是包的子模块(或子包),也可以是包中定义的其他名称,如函数,类或变量。 import 语句首先测试是否在包中定义了item;如果没有,它假定它是一个模块并尝试加载它。如果找不到它,则引发 ImportError 异常。
相反,当使用 import item.subitem.subsubitem 这样的语法时,除了最后一项之外的每一项都必须是一个包;最后一项可以是模块或包,但不能是前一项中定义的类或函数或变量。
以上就是《如何使用python处理数据?原来python可以做到这样的事情》的全部内容,python可以用来做很多事情,python的包到底要怎么用?假设您要设计一个模块集合(“包”),用于统一处理声音文件和数据,如果你想知道更多的python的相关方法,可以点击下方资料下载链接。