如何通过名称从另一个包中获取对模块的引用?
考虑:
genericCall(packageName, moduleName, methodName):
#Call moduleName.methodName
#knowing that the moduleName is in packageName
在哪里
packageName="p1"
moduleName="m1"
methodName="f1"
最佳答案
您必须导入模块或包,并且要按名称导入,您可以使用__import__
。或 importlib.import_module
.
import importlib
def genecirCall(package_name, module_name, function_name):
# import module you need
module = importlib.import_module('%s.%s' % (package_name, module_name))
getattr(module, function_name)() # make a call
请注意,在此示例中,module
变量将是本地变量。
关于Python从另一个包获取模块引用,知道包和模块名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764544/