【发布时间】:2010-10-29 01:28:55
【问题描述】:
虽然在 Python 中将“子”模块导入另一个模块并列出其属性相当简单,但当您想要导入 所有 个子模块时会变得稍微困难一些。
我正在为现有的 3D 应用程序构建一个工具库。每个工具都有自己的菜单项和子菜单。我希望该工具负责创建自己的菜单,因为其中许多菜单会根据上下文和模板而变化。我希望我的基础模块能够找到所有子模块并检查 create_menu() 函数并在找到时调用它。
发现所有子模块的最简单方法是什么?
【问题讨论】:
-
模块不是包
-
正如@Dag 所说,可以使用
pkgutil.walk_packages- 它会返回带有is_pkgbool 标志的包和模块来区分它们。因此,您可以使用它来递归查找您的模块。但是你最终会导入所有的东西(甚至是你不想要的东西),这可能是不可取的
标签: python module package python-import