使用Python的LazyLoader导入类导入顶级模块

Jab*_*ber 5 python lazy-loading python-3.x python-importlib

如果我懒惰import os的话,我可以使用以下方法:

os = lazy('os')
Run Code Online (Sandbox Code Playgroud)

它会延迟加载库,但如果我这样做:

path = lazy('os.path')

正在LazyLoader加载os模块,然后延迟加载path子模块。我怎样才能防止这种情况发生?

另外我不知道这是否受支持,但我想知道你是否可以这样做:

os = lazy('os')
Run Code Online (Sandbox Code Playgroud)

但是该方法是否以惰性方式返回?

from os.path import isdir
Run Code Online (Sandbox Code Playgroud)