将ihooks移植到python 3

时间:2014-04-14 02:55:34

标签: python python-3.x

我正在努力将一些非常旧的代码移植到python 3。 我遇到了一个试图使用ihooks加载其他模块的函数。

感兴趣的代码是:

def _getCOMModuleForLocation(self, componentFile):
    fqn = componentFile.path
    mod = self.com_modules.get(fqn)
    if mod is not None:
        return mod
    import ihooks, sys
    base_name = os.path.splitext(os.path.basename(fqn))[0]
    loader = ihooks.ModuleLoader()

    module_name_in_sys = "component:%s" % (base_name,)
    stuff = loader.find_module(base_name, [componentFile.parent.path])
    assert stuff is not None, "Couldnt find the module '%s'" % (base_name,)
    py_mod = loader.load_module( module_name_in_sys, stuff )

    # Make and remember the COM module.
    comps = FindCOMComponents(py_mod)
    mod = self.moduleFactory(comps)

    self.com_modules[fqn] = mod
    return mod

请你帮我把这段代码与python 3兼容,同时保持与2.6和2.7的向后兼容性?

更新

看起来我找到了如何在3.1+以下工作:importlib

问题仍然存在于3.0。

0 个答案:

没有答案