动态导入Python模块

发布于 2021-01-29 19:34:35

我有一台受信任的远程服务器,其中存储了许多自定义Python模块。我可以通过HTTP(例如,使用urllib2.urlopen)作为文本/纯文本来获取它们,但是我无法将获取的模块代码保存到本地硬盘上。如何将代码作为完全可操作的Python模块(包括其全局变量和导入)导入?
我想我必须使用execimp模块功能的某种组合,但是我还无法使其工作。

关注者
0
被浏览
84
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    看起来这应该可以解决问题:导入动态生成的模块

    >>>导入展示
    >>> foo = imp.new_module(“ foo”)
    >>> foo_code =“”“
    ... Foo类:
    ...通过
    ...“”
    >>> foo中的exec foo_code .__ dict__
    >>> foo.Foo .__ module__
    'foo'
    >>>
    

    另外,按照ActiveState文章中的建议,您可能希望将新模块添加到sys.modules

    >>>导入系统
    >>> sys.modules [“ foo”] = foo
    >>>来自foo import Foo
    <Foo类...>
    >>>
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看