Python动态导入速度

2024-04-23 15:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

def do_import(name):
    import imp

    fp, pathname, description = imp.find_module(name)

    try:
        return imp.load_module(name, fp, pathname, description)
    finally:
        # Since we may exit via an exception, close fp explicitly.
        if fp:
            fp.close()

以上每个调用do_import()需要几毫秒的时间,我希望它更快。 我使用的是python2.7。在

有没有一种方法可以实现除进口更快以外的相同目标?我试图使用imp.load_source,但我没能做到。在

有没有其他库可以用来动态导入?我研究了importlib和{},但没有成功。在


Tags: nameimportclosereturndefloaddescriptionfind
1条回答
网友
1楼 · 发布于 2024-04-23 15:26:44

python不支持延迟加载模块。Some have tried重写某些异常,理论上只有在遇到{}时才会生成加载模块的信号,但不能重写内置异常(除非更改cpython源代码并自行构建)。在

通过搜索sys.modules以确保它们在那里,__import__通过字符串导入模块,可以构建自己的逻辑来处理导入。在

相关问题 更多 >