如何实现仅具有一层访问权限的python模块

时间:2019-06-05 05:26:41

标签: python module directory

我想实现一个无需多个命名空间层即可导入的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,其中同时实现了echofilterreversefilter,并且没有任何目录。但是,为了组织我的代码,最好将它们放在单独的文件和目录中。

使用一层命名空间是否可能?

0 个答案:

没有答案