File size: 374 Bytes
7bc29af
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
from importlib.util import find_spec, LazyLoader, module_from_spec
from sys import modules

def lazyload(name):
    if name in modules:
        return modules[name]
    else:
        spec = find_spec(name)
        loader = LazyLoader(spec.loader)
        module = module_from_spec(spec)
        modules[name] = module
        loader.exec_module(module)
        return module