小编典典

动态导入Python模块

python

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


阅读 175

收藏
2020-12-20

共1个答案

小编典典

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

>>>导入展示
>>> 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类...>
>>>
2020-12-20