利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员(函数)。
Python中反射用到的4个内置函数:getattr(),setattr(),hasattr(),delattr()
直接上例子
伪造Web框架的路由系统:
目录结构:
. ├── index.py └── lib ├── account.py ├── commons.py └── manager.py # account.py def login(): print('炫酷登录页面') def logout(): print('炫酷退出页面') # manager.py def order(): print('炫酷的订单页面') # common.py def home(): print('炫酷主页面') # index.py def run(): inp = input('请输入URL:') m, f = inp.split('/') # import lib.account obj = __import__("lib."+ m, fromlist=True) if hasattr(obj, f): func = getattr(obj, f) func() else: print('404') if __name__ == '__main__': run() 运行: 请输入URL:account/login 炫酷登录页面 请输入URL:account/log 404转载于:https://www.cnblogs.com/zhangxunan/p/5578451.html