python中的反射
来源:互联网 发布:移动网络电话号码 编辑:程序博客网 时间:2024/06/04 17:45
反射说简单点 --> 就是利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员。
第一种:项目的目录如下图,需要导入的文件和可执行文件都在一个目录下
# -*- coding: utf-8 -*-import commons''' 当前是index.py 文件 导入的模块是commons.py 文件'''def main(): #利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员 反射 imp = input('请输入一个方法:') #比如login # delattr() 删除内存里面的方法 # setattr() #设置内存里面的方法 if hasattr(commons,imp): #判断有没有这个方法 fuc = getattr(commons,imp) #获得这个方法 fuc() #会调用 commons文件里面的方法 else: print('404')
如果我们不想导入 commons.py 文件 比如 import commons 我们可以用 __import__() 来导入模块
# -*- coding: utf-8 -*-''' 当前是index.py 文件 导入的模块是commons.py 文件'''def main(): imp = input('请输入:') #比如 commons/login m,f= imp.split("/") print(m,f) try: obj = __import__(m) #导入该模块 commons模块 print(obj) if hasattr(obj,f): #判断有没有这个方法 fuc = getattr(obj,f) #获得这个方法 fuc() else: print('404') except Exception as e: print(e)if __name__ == '__main__': main()
# -*- coding: utf-8 -*-''' 当前是show.py 文件'''def main(): imp = input('请输入:') #比如 account/login m,f= imp.split("/") try: obj = __import__('lib.'+m,fromlist=True) #导入该模块 account print(obj) if hasattr(obj,f): #判断有没有这个方法 fuc = getattr(obj,f) #获得这个方法 fuc() else: print('404') except Exception as e: print(e)if __name__ == '__main__': main()
1 0
- python中的反射
- python中的反射
- python中的反射
- Python中的反射机制
- python中的反射和自省
- Python中的反射与自省
- python中的反射和自省
- python中的反射和自省
- python中的反射和自省
- python 反射
- Python反射
- python 反射
- Python:反射
- python反射
- python反射
- python反射
- python 反射
- python反射
- 【Android】使用WindowManager添加View
- Liblinphone3.10.2 DataStructures
- Android开发-Fragment中调用父Activity中方法-AndroidStudio
- 扑克牌顺子
- Mybatis框架学习笔记 lesson1
- python中的反射
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- SAP 常用业务表格
- 微信公众号开发之4-消息类型的分类及处理消息的工具类封装
- 内存技术和优化
- 【LeetCode】Search in Rotated Sorted Array旋转数组问题总结
- ARM支持的三大工具链
- 离散二维小波变换 MATLAB
- jsp实体链接SQL2008