python反射。以str映射 从而使用方法

目前,method是另一个文件里的方法名,我不知道它的方法名,我已经有办法得到method了,调用的时候出错。它无法将字符串作为一个方法(即使相同名称的也不可以),此时就要使用到Python的反射,getattr()

嗯,好像就是先加载这个类,然后获取到它的构造,里面好像有个映射, 方法名映射真正的方法。然后传方法名就行了。

core

import importlib
from disambiguation import *

lib=importlib.import_module("disambiguation") #获取方法名及其方法

method_name=qiyi_method[ysb_name] #得到判断此data的方法名称
method_dis=getattr(lib,method_name) #获取消歧方法
print(method_dis)
发布了118 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38403590/article/details/104430715