1. 一般使用
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
...
必须要有 __ init __.py 文件才能让 Python 将包含该文件的目录当作包。
导入单个模块
import sound.effects.echo
引用时必须使用它的全名
sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)
from sound.effects import echo
echo.echofilter(input, output, delay=0.7, atten=4)
直接导入所需的函数或变量
from sound.effects.echo import echofilter
echofilter() 直接可用
echofilter(input, output, delay=0.7, atten=4)
2. 定制*导入
如果一个包的 init.py 代码定义了一个名为 all 的列表,它会被视为在遇到 from package import * 时应该导入的模块名列表。.
__ init __.py定义
__all__ = ["echo", "surround", "reverse"]
使用 import * 时只导出遵循某些模式的名称,但在生产代码中它仍然被认为是不好的做法。
3. 子包参考
————Blueicex 2020/07/19 17:52 blueice1980@126.com