从Python dir()调用模块
发布时间:2021-02-20 17:37:46 所属栏目:Python 来源:互联网
导读:简短的问题 是否可以调用从 python dir()函数检索的模块? 背景 我正在构建一个自定义测试运行器,并希望能够根据字符串过滤器选择要运行的模块.有关理想用法,请参阅下面的示例. module_a.py def not_mykey_dont_do_this(): print I better not do thisdef myk
简短的问题
背景 module_a.py def not_mykey_dont_do_this(): print 'I better not do this' def mykey_do_something(): print 'Doing something!' def mykey_do_somethingelse(): print 'Doing something else!' module_b.py import module_a list_from_a = dir(module_a) # ['not_mykey_dont_do_this','mykey_do_something','mykey_do_somethingelse'] for mod in list_from_a: if(mod.startswith('mykey_'): # Run the module module_a.mod() # Note that this will *not* work because 'mod' is a string 产量 Doing something! Doing something else! 解决方法getattr(module_a,mod)() getattr是一个内置函数,它接受对象和字符串,并返回属性. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Python – 降低niceness值
- python – 通过Curl向Flask发送JSON-Request [复制]
- 如何使用Python的ctypes和readinto读取包含数组的结构?
- 在python中使用ElementTree将xml元素作为第一个子元素插入
- python – 线程类中__init__的相反
- python – 有效地将numpy数组与元素进行比较
- python – 具有超类类名称的子类变量
- python – django:django-tables2 DetailView CBV不会显示
- 从python 2.4输入重定向运行shell命令?
- python – scikit-learn是否执行“真正的”多元回归(多个因