我有一台受信任的远程服务器,其中存储了许多自定义Python模块。我可以通过HTTP(例如,使用urllib2.urlopen)作为文本/纯文本来获取它们,但是我无法将获取的模块代码保存到本地硬盘上。如何将代码作为完全可操作的Python模块(包括其全局变量和导入)导入? 我想我必须使用exec和imp模块功能的某种组合,但是我还无法使其工作。
urllib2.urlopen
exec
imp
看起来这应该可以解决问题:导入动态生成的模块
>>>导入展示 >>> foo = imp.new_module(“ foo”) >>> foo_code =“”“ ... Foo类: ...通过 ...“” >>> foo中的exec foo_code .__ dict__ >>> foo.Foo .__ module__ 'foo' >>>
另外,按照ActiveState文章中的建议,您可能希望将新模块添加到sys.modules:
sys.modules
>>>导入系统 >>> sys.modules [“ foo”] = foo >>>来自foo import Foo <Foo类...> >>>