【发布时间】:2013-05-27 00:15:44
【问题描述】:
目录结构:
main.py
my_modules/
module1.py
module2.py
module1.py:
class fooBar():
....
class pew_pew_FooBarr()
....
...
如何在没有前缀的情况下将 module* 中的所有类添加到 main(即像 foo = fooBar() 一样使用它们,而不是 foo = my_modules.module1.fooBar())。
一个明显的决定是在 main.py 中编写如下内容:
from my_modules.module1 import *
from my_modules.module2 import *
from my_modules.module3 import *
...
但我不想在创建新模块 N 时更改 main.py。有解决办法吗?
我知道导入这样的类不是一个好主意,但我仍然对此感到好奇。
UPD:这个问题与Loading all modules in a folder in Python 这个问题不同,因为我的问题是加载没有命名空间的模块。
【问题讨论】:
-
你的意思是python中的动态模块导入stackoverflow.com/questions/301134/…?
-
我认为动态模块导入是一个相当复杂的解决方案。