我想从模块中导入特定项目 - 只需要那些需要的项目而不是该模块的所有项目 - 但是希望保留模块的命名空间,即将模块名称保持为“前缀”以访问这些项目。换句话说,最好使用import module
和from module import item
结构。
是否有一个更简单/更好的构造来实现这一点,而不是执行以下操作(这是很多代码,看起来有点笨拙,仍然在全局命名空间中留下不必要的符号)?
from types import ModuleType
from myModule import Item1, Item2
myModule = ModuleType("myModule")
myModule.Item1 = Item1
myModule.Item2 = Item2
答案 0 :(得分:0)
是的,您可以使用:
from types import ModuleType as MT
from myModule import Item1 as It1, Item2 as It2
myModule = MT("myModule")
It1 = Item1
It2 = Item2