我想从一个模块中导入特定的项-仅导入那些需要的项,而不是该模块的所有项-但是想保留模块的命名空间,即将模块名保持为“前缀”以访问这些项。换句话说,最好同时使用import modulefrom module import item结构。
是否有一个更简单/更好的构造来实现这一点,而不是执行以下操作(这是很多代码,看起来有些笨拙,并且仍然在全局命名空间中留下不必要的符号)?

from types import ModuleType
from myModule import Item1, Item2

myModule = ModuleType("myModule")
myModule.Item1 = Item1
myModule.Item2 = Item2

最佳答案

是的,您可以使用:

from types import ModuleType as MT
from myModule import Item1 as It1, Item2 as It2

myModule = MT("myModule")
It1 = Item1
It2 = Item2

关于python - 导入带有 namespace 的特定项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31634784/

10-12 01:55