反射

import pypy
from lib.test(也就是文件路径) import py (文件名)
r = __import__('lib.test.py(文件路径)',formlist = True(要声明才能找到))

''' 反射根据用户输入寻找模块的东西'''
inp = input('输入模块')
inp_1 = __import__(inp)
inp_2 = input('输入函数')
inp_3 = getattr(inp_1,inp_2)
inp_3()

'''去模块中寻找某个东西'''
hasattr(inp_1,inp_2)

'''去内存里面为模块设置东西'''
setattr(inp_1,inp_2)

'''去内存里面删除某个东西'''
delattr(inp_1,inp_2)

'''
反射
根据字符串的形式去某个模块中寻找东西
根据字符串的形式去某个模块中判断东西是否存在
根据字符串的形式去某个模块中设置东西
根据字符串的形式去某个模块中删除东西
根据字符串的形式去某个对象(某个模块)中操其作成员
'''

  

用户输入寻找同等级的模块!
inp_modular =input('请输入模块')
user_modular = __import__(inp_modular)
inp_fucn = input('请输入函数')
user_func = getattr(user_modular,inp_fucn)
user_func()

  

用户输入寻找指定文件夹的模块
url = input('模块,函数')
inp_modular,inp_func = url.split('/')
user_modular = __import__('lib.'+inp_modular,fromlist = True)
if hasattr(user_modular,inp_func):
    user_func = getattr(user_modular,inp_func)
    user_func()
else:
    print('404')

  

posted @ 2016-12-30 10:55  200ML  阅读(108)  评论(0编辑  收藏  举报