【python】动态加载文件

发布时间:2019-09-23 17:04:21编辑:auto阅读(2425)

    在项目中需要完成一个功能,用户在前端编辑代码,然后在用例中通用特定的方式(@{关键字方法}@)可以调用编辑的代码块
    因为后台是一个服务,服务启动的时候加载生成代码文件,用户更新时前端调用后台接口可同步更新,问题的关键在于如何调用用户定义的关键字函数

    方案一

    __init__.py文件中懒加载

    在用户生成文件的package的__init__.py 文件中,使用__all__ 变量,如:

    __all__ = ['py1','py2','py3'] // 包下有py1, py2, py3

    在需要引用部分调用

    from xxx import *
    py1.callFun()   //py1文件中有callFun方法

    问题来了
    动态生成.py文件,需要调用生成的.py文件中类和方法

    import是用来加载Python模块的,其实import是调用内建函数import来工作的,这就使我们动态加载模块变成了可能

关键字