导入彼此 "overload" 的模块,但保留名称空间
Import modules that "overload" one another, but keep namespaces
我有两个由另一位开发人员编写的模块:module
和 module_overload
。模块 module_overload
替换了 module
的一个子集。开发人员推荐的导入方式是使用:
from module import *
from module_overload import *
但我想保留名称空间。如果我这样做...
import module
import module_overload as module
...完整的 module
集已丢失,只有 module_overload
的替换子集可用。
如何执行此导入,但保留名称空间?
我不明白哪个开发人员认为这是个好主意,但模块是对象,您可以使用 update
:
更新它们的 __dict__
你先导入module_overload
:
import module_overload
import module as temp
module_overload.__dict__.update(temp.__dict__)
module = module_overload
大致就是这样。
总收入。
我有两个由另一位开发人员编写的模块:module
和 module_overload
。模块 module_overload
替换了 module
的一个子集。开发人员推荐的导入方式是使用:
from module import *
from module_overload import *
但我想保留名称空间。如果我这样做...
import module
import module_overload as module
...完整的 module
集已丢失,只有 module_overload
的替换子集可用。
如何执行此导入,但保留名称空间?
我不明白哪个开发人员认为这是个好主意,但模块是对象,您可以使用 update
:
__dict__
你先导入module_overload
:
import module_overload
import module as temp
module_overload.__dict__.update(temp.__dict__)
module = module_overload
大致就是这样。
总收入。