Day37:插件化开发与GUI开发

  • Post author:
  • Post category:其他





1.插件化开发思想

  • 插件化开发是一种思想,考虑到程序功能的加载时机,用到的时候再加载;

  • 插件化开发依赖的技术点有:

反射:判断对象是否存在某种功能;
动态导入:import;
多线程:使用线程完成对应的任务;




2.插件化开发的好处

  • 插件能够程序的功能多样性,用到时在加载,程序启动加快;




3.importlib模块

# importlib.import_module(name, package=None):  name为模块名称字符串,package当相对导入的时候,需要传递包名字符串
# other.py文件中写一个功能类

class Student:
    def talk(self):
        print('I am talking !')
# 在app.py程序入口模块中加载other.py模块的功能

import importlib
def get_plugin_obj(name: str):
    str_module, _, str_class = name.partition('|')
    module = importlib.import_module(str_module)
    cls = getattr(module, str_class)
    return cls()
if __name__ == '__main__':
    obj 



版权声明:本文为ivenqin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。