是的,您可以两次加载一个模块:
import modimport sysdel sys.modules["mod"]import mod as mod2
现在,
mod和
mod2是同一模块的两个实例。
也就是说,我怀疑这是否有用。改用类-最终将减少工作量。
编辑 :在Python 2.x中,您还可以使用以下代码“手动”导入模块:
import impdef my_import(name): file, pathname, description = imp.find_module(name) pre = compile(file.read(), pathname, "exec", dont_inherit=True) file.close() module = imp.new_module(name) exec pre in module.__dict__ return module
此解决方案可能比第一个更灵活。由于(部分地)滚动了自己的导入机制,因此您不再需要“与之抗衡”。(注意,此实现不设置
__file__,
__path__和
__package__模块的属性-
如果这些都需要,只是添加代码来设置它们)



