您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从Python dir()调用模块

5b51 2022/1/14 8:22:31 python 字数 1552 阅读 554 来源 www.jb51.cc/python

简短的问题 是否可以调用从 python dir()函数检索的模块? 背景 我正在构建一个自定义测试运行器,并希望能够根据字符串过滤器选择要运行的模块.有关理想用法,请参阅下面的示例. module_a.py def not_mykey_dont_do_this(): print 'I better not do this' def mykey_do_something(): p

概述

背景
我正在构建一个自定义测试运行器,并希望能够根据字符串过滤器选择要运行的模块.有关理想用法,请参阅下面的示例.

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 dir()调用模块全部内容,希望文章能够帮你解决从Python dir()调用模块所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶