您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:如何两次加载一个模块?

Python:如何两次加载一个模块?

是的,您可以两次加载一个模块:

import mod
import sys
del sys.modules["mod"]
import mod as mod2

现在,modmod2是同一模块的两个实例。

也就是说,我怀疑这是否有用。改用类-最终将减少工作量。

:在Python 2.x中,您还可以使用以下代码“手动”导入模块:

import imp

def my_import(name):
    file, pathname, description = imp.find_module(name)
    code = compile(file.read(), pathname, "exec", dont_inherit=True)
    file.close()
    module = imp.new_module(name)
    exec code in module.__dict__
    return module

解决方案可能比第一个更灵活。由于(部分地)滚动了自己的导入机制,因此您不再需要“与之抗衡”。(注意,此实现不设置__file____path____package__模块的属性- 如果这些都需要,只是添加代码来设置它们)

python 2022/1/1 18:43:14 有288人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶