python - 如何实现只有一层访问权限的 python 模块
问题描述
我想实现一个可以在没有多个命名空间层的情况下导入的 python 模块。例如,我想创建一个可以按如下方式使用的模块:
import sound
sound.echofilter(args...)
sound.reversefilter(args...)
在我看到的示例和文档中,我看不到如何做到这一点。文档中的示例具有以下内容:
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
没有任何目录。但是,为了组织我的代码,最好将它们放在单独的文件和目录中。
这可能与一层命名空间吗?
解决方案
推荐阅读
- mysql - 即使两个子查询都另有说明,sqlite join也返回null
- reactjs - 如何使用材料 Ui 与打字稿反应
- oracle - Oracle 中的 UPSERT
- c# - 如何将下面的 div 转换为如下形式,如下所示
- node.js - 错误 UnhandledPromiseRejectionWarning 在通过带有 NODE.JS 的 API 的登录页面发送用户信息
- javascript - 在没有宣誓的情况下将谷歌日历事件插入我的议程
- rest - 具有异步 REST 调用的微服务
- angular - 如何管理状态并跟踪在 Angular 中填写的多个表单?
- php - 登录不显示错误
- python - 将一个 Pandas DataFrame 附加到另一个后获取 NaN