美文网首页
目录反射使用

目录反射使用

作者: 两点半的杂货铺 | 来源:发表于2018-03-18 14:56 被阅读4次

一、传统方法

创建一个方法,里面封装对应好的类,用字典封装,然后对应返回指定的方法

from .plugins.disk import DiskPlugin
from .plugins.mem import MemPlugin

def pack():
    obj1 = DiskPlugin()
    disk_info = obj1.execute()

    obj1 = MemPlugin()
    men_info = obj1.execute()


    response = {
        'disk':disk_info,
        'men':men_info,
    }

    return response

缺点当变成人员,在写子类时,需要更改这个方法,往里字典中加入对应的方法

二、配置映射法

思路和django的settings文件配置思路一致
setting.py写法

PLUGINS = {
    'disk':'src.plugins.disk.DiskPlugin',
    'mem':'src.plugins.disk.MemPlugin',
}
  • importlib.import_module 导入对应的py文件
  • getattr(m,clsname) 获取对应文件的方法
  • m_path,clsname = v.rsplit('.',maxsplit=1)从右截取直接去一个
from conf import setting
import  importlib
def pack():
    response = {}
    for k,v in setting.PLUGINS.items():
        m_path,clsname = v.rsplit('.',maxsplit=1)
        m = importlib.import_module(m_path)
        cls = getattr(m,clsname)
        #反射
        response[k] = cls().execute()

    return response

相关文章

  • 目录反射使用

    一、传统方法 创建一个方法,里面封装对应好的类,用字典封装,然后对应返回指定的方法 缺点当变成人员,在写子类时,需...

  • 面试官问go反射第一弹

    目录 反射概念 reflect包 反射类型(Type)和种类(Kind) 反射类型(Type)使用 反射类型对象(...

  • Java一反射

    目录 一、什么是反射 二、反射的作用和应用场景 三、反射的优缺点 四、使用反射(获取Class对象、获取类的构造方...

  • 猿学-Java基础教程反射详解

    反射授课目录: ###01_反射(类的加载概述和加载时机) * A:类的加载概述 * 当程序要使用某个类时,如果该...

  • 学习OpenGL ES之基于CubeMap的反射效果

    本系列所有文章目录 获取示例代码 本文将为大家介绍如何使用CubeMap制作反射效果,反射效果可以让材质具备光滑的...

  • Java反射与joor反射库的使用

    java原生反射的使用 反射构造对象 反射方法 反射字段 joor反射库的使用 github:https://gi...

  • 面试官问go反射第二弹

    目录 概念 ValueOf使用格式 反射获取值对象(ValueOf) 通过canSet方法修改值判断及获取元素的相...

  • 反射

    1.反射是什么?反射的定义,概念 2.为什么要学反射? 3.怎么使用反射?反射的使用

  • 谈谈移动开发编程中的反射(Reflection)

    目录 什么是反射(Reflection) Objective-C的反射 Objective-C的反射进阶 Java...

  • Java反射详细介绍

    反射 目录介绍 1.反射概述 1.1 反射概述 1.2 获取class文件对象的三种方式 1.3 反射常用的方法介...

网友评论

      本文标题:目录反射使用

      本文链接:https://www.haomeiwen.com/subject/bcreqftx.html