从string中使用load_dynamic

时间:2015-12-26 20:22:20

标签: python python-2.7 python-importlib

我正在尝试从字符串加载模块,但它也是.so文件。这有效:

import  imp
mod = imp.load_dynamic('module.name','path/to/my_module.so')
mod.function(x)

但我想从Python字符串加载模块。我尝试使用read方法创建一个自定义类并将其传递给:

s = string_with_read('.so file text....')
mod = imp.load_dynamic('module.name',s)

但它告诉我TypeError: must be string, not instance。所以,它想要一个文件的路径。反正我是否可以制作一个假文件并将其传入?我愿意使用python3或更新的导入模块importlib; imp似乎更容易。

这是string_with_read类,虽然这种方法目前无效。

class string_with_read:
    def __init__(self,s):
        self.s = s
    def read(self):
        return self.s
    def readlines(self):
        return self.s.splitlines()

0 个答案:

没有答案