我想实现一个无需多个命名空间层即可导入的python模块。例如,我想创建一个可以按如下方式使用的模块:
import sound
sound.echofilter(args...)
sound.reversefilter(args...)
在我所看到的示例和文档中,我看不到如何执行此操作。 documentation中的示例如下:
sound/ Top-level package
__init__.py Initialize the sound package
effects/ Subpackage for sound effects
__init__.py
echo.py
哪些要求
import sound.effects.echo
sound.effects.echo.echofilter(args...)
虽然我可以跳过外包装和内包装(声音和效果),而只有一层目录,但我仍然在函数之前有文件的额外一层,例如:
sound.echo.echofilter(args...)
sound.echo.reversefilter(args...)
或者,我只能有一个文件sound.py
,其中同时实现了echofilter
和reversefilter
,并且没有任何目录。但是,为了组织我的代码,最好将它们放在单独的文件和目录中。
使用一层命名空间是否可能?