最佳实践:懒加载Python模块

10 浏览
0 Comments

最佳实践:懒加载Python模块

有时候我想在Python中使用惰性模块加载。通常是因为我想保持运行时要求或启动时间的低延迟,而将代码拆分为子模块可能会很麻烦。一个典型的用例和我目前首选的实现如下:

jinja2 = None
class Handler(...):
    ...
    def render_with_jinja2(self, values, template_name):
        global jinja2
        if not jinja2:
            import jinja2
        env = jinja2.Environment(...)
        ...

我想知道:是否有一种规范/更好的方法来实现惰性模块加载?

0