python中的反射

'''
根据字符串的形式去某个模块中寻找东西-->getattr()
根据字符串的形式去某个模块中判断东西是否存在-->hasattr()
根据字符串的形式去某个模块中设置东西-->setattr()
根据字符串的形式去某个模块中删除东西-->delattr()
'''

# # 通过__import__导入目标模块
# f=__import__('login')
# # 通过对象找login模块中的index的字符串并调用
# f.index()

# import login
# # 实现调用login模块中的logout函数
# f = getattr(login,'logout')
# f()

#如何找到person中info的方法并且调用
# import login
# # if hasattr(login.Person(),'info'):
# # 	f=getattr(login.Person(),'info')
# # 	f()
# # else:
# # 		print("false")

# import login
#
# f = setattr(login.Person,'exit','This is true')
# print(f)
# f2=hasattr(login.Person,'exit')
# print(f2)
# f3 = delattr(login.Person,'exit')
# print(f3)
#
# import login
# f = setattr(login,'str1','hello world')
# print(f)
# f1=hasattr(login,'str1')
# print(f1)

url = input("请输入路由地址:")
target_models,target_function = url.split('/')
m = __import__(target_models)
if hasattr(m,target_function):
	target_function=getattr(m,target_function)
	target_function()

else:
	print("Not Found 404 Page")

  

原文地址:https://www.cnblogs.com/1510152012huang/p/10208699.html