Han*_*pan 5 python python-import
我有以下文件夹结构:
- MyProject
- App1
- some_module1.py
- some_module2.py
- App2
- some_other_module1.py
- some_other_module2.py
Run Code Online (Sandbox Code Playgroud)
在每个模块(例如some_module1.py)中,有一个类从基类扩展,在我的例子中是Producer.
我想要做的是在这个类中动态加载.为此,我有一个"已安装的应用程序"列表,如下所示:
INSTALLED_APPS = (
'App1',
'App2',
)
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个函数来检查特定生成器类的每个"app"包,并确保它从生成器基类扩展.像这样的东西:
module_class = 'some_module1.SomeClass'
# Loop through each package in the INSTALLED_APPS tuple:
for app in INSTALL_APPS:
try:
#is the module_class found in this app?
#App1.some_module1.SomeClass - Yes
#App2.some_module1.SomeClass - No
# is the class we found a subclass of Producer?
exception ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
我尝试过使用imp和importlib,但它似乎没有处理这种导入.无论如何我能够做到这一点吗?
| 归档时间: |
|
| 查看次数: |
1113 次 |
| 最近记录: |