0

文字列からモジュールをロードしようとしていますが、それも.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または新しいインポートモジュールを使用することにオープンですimportlibimp簡単に思えました。

これが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()
4

0 に答える 0