Har*_*šić 0 python mod-wsgi python-2.7
我有一个非常大的问题.例如:我需要根据给定的字符串导入一个模块,我使用类似的东西
string = 'testmodule'
module = __import__(string)
Run Code Online (Sandbox Code Playgroud)
它有效.现在我需要从给定字符串中调用该模块中的函数
return module.function()
Run Code Online (Sandbox Code Playgroud)
需要像以下一样工作:
string = 'function'
module = 'testmodule'
return module.string()
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用exec,而我现在正在使用它
string = 'function'
module = 'testmodule'
exec('ret = ' + module + '.' + string + '()')
Run Code Online (Sandbox Code Playgroud)
但是如何在不使用该exec方法的情况下完成它,因为它太慢了?
用途getattr:
module = __import__('module')
func = getattr(module, 'func')
func()
Run Code Online (Sandbox Code Playgroud)
如果您不是更通用的解决方案,请查看此文件中的get_object函数.您可以提供完整路径:get_object('module.submodule.function')或相对路径和对象:get_object('submodule.function', module)它将返回所需的对象.
| 归档时间: |
|
| 查看次数: |
35 次 |
| 最近记录: |