有时候不想一开始就把模块加载进来,当调用这个模块的函数时,再加载,这样有什么方法吗?本文和大家分享的就是python
中模块按需加载相关内容,一起来看看吧,希望对大家
学习python有所帮助。
具体的模块按需加载,
可以按下面的例子来实现:
# File: builtin-import-example-3.py
class
LazyImport:
def
__init__(self, module_name):
self.module_name = module_name
self.module =
None
def
__getattr__(self, name):
if self.module
is
None:
self.module = __import__(self.module_name)
return getattr(self.module, name)
string = LazyImport("string")
print(string.ascii_letters)
运行结果输出如下:
=== RESTART: D:/work/csdn/python_Game1/example/builtin-import-example-3.py ===
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
>>>
在这个例子里,只当调用函数LazyImport
()才会加载相应的模块。
来源:
大坡3D
软件开发