Python从另一个包获取模块引用,知道包和模块名称

标签 python

如何通过名称从另一个包中获取对模块的引用?

考虑:

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/

相关文章:

python - 如何在 python pandas 数据框中将日期范围划分为 365 天的时间段

python - 在python中使用sqlalchemy对三个表之间的数据库多对多关系建模

python - 使用 Python-Poetry 将包发布到 Azure DevOps Artifacts

python - Twisted 中connectionLost 和clientConnectionLost 之间的区别

Python:在特定条件下使用正则表达式查找和替换

python - 如何使用 argparse 在 python 中添加多个参数选项?

python - post_save 信号和关系

python - 如何在异常处理中获取python默认的异常消息

python - 字典联合python

python - SqlAlchemy ORM - 在查询时限制列(选择) - column_property