如何在python中高效地将同一模块导入多个子包
我想创建一个包含多个子包的Python包。这些子包中的每一个子包都包含导入相同特定模块的文件,该模块的大小相当大 例如,子包如何在python中高效地将同一模块导入多个子包,python,Python,我想创建一个包含多个子包的Python包。这些子包中的每一个子包都包含导入相同特定模块的文件,该模块的大小相当大 例如,子包A中的文件A.py将导入一个名为LargeSizedModule的模块,子包B中的文件B.py也将导入LargeSizedModule。与子包C中的C.py类似 有人知道我如何高效地跨多个子包导入相同的模块吗?我希望通过在您需要的任何地方执行import LargeSizedModule,减少那些重复导入带来的“加载”时间。。Python将只加载一次。重复导入没有加载时间;
A
中的文件A.py
将导入一个名为LargeSizedModule
的模块,子包B
中的文件B.py
也将导入LargeSizedModule
。与子包C
中的C.py
类似
有人知道我如何高效地跨多个子包导入相同的模块吗?我希望通过在您需要的任何地方执行
import LargeSizedModule
,减少那些重复导入带来的“加载”时间。。Python将只加载一次。重复导入没有加载时间;导入本身只发生一次,然后它只是一个查找(在sys.modules
,IIRC中)。“是什么让你认为这是个问题?”我明白了。我刚刚开始构建我的包的基本结构,并希望防止类似的事情让我彻底检查整个包结构,如果它以后成为一个可能的效率问题的话。我是新手:)谢谢。对于其他新手来说,这个链接可能会很好地阅读这个主题:另请参见@TomW。要添加到这个链接中,Python
将重新导入某些内容的唯一时间是在它上面调用reload(LargeSizedModule)
或者使用自己的importlib.import\u module()
并给它一个不同的通用名称。