在 Python 中按名称动态导入模块
在软件开发中,可扩展性至关重要。为了实现这一点,应用程序通常需要根据用户输入或配置动态加载模块。在 Python 中,按名称动态导入模块允许开发人员添加新模块,而无需修改主应用程序源。
动态模块导入的一种方法是使用 __import__()。此函数需要模块名称作为字符串并返回导入的模块。然而,正确构造模块名称可能具有挑战性。
更推荐的方法是使用 Python 2.7 和 3.1 中引入的 importlib 模块。 importlib.import_module() 函数为动态模块导入提供了更加用户友好的界面。它将模块的名称作为字符串,还可以选择模块所在的包名称。
例如,要从“commands”包导入“command1”模块:
import importlib command_module = importlib.import_module('myapp.commands.command1')
这种方法简化了代码并确保模块名称的构造正确,无论目录结构如何。它还允许应用程序通过提供包名称作为第二个参数来处理包。
总之,使用 importlib.import_module() 是 Python 中动态模块导入的首选方法,因为它提供了更优雅的方式和可靠的解决方案。
以上是如何按名称动态导入Python模块?的详细内容。更多信息请关注PHP中文网其他相关文章!