在Python中加载文件夹中的所有模块

摘要

在Python中,有时候需要一次性导入文件夹中的所有模块。本教程将介绍如何实现这一目标。

内容

要导入文件夹中的所有模块,可以按照以下步骤操作:

  1. 获取文件夹中所有的.py文件路径。
  2. 使用importlib模块动态导入每个模块,并将其添加到当前命名空间。

以下是具体示例:

 1import importlib
 2import pathlib
 3import re
 4
 5# 获取文件夹路径
 6path = pathlib.Path(__file__).parent.absolute()
 7
 8# 获取文件夹中的所有模块名
 9names = [x.name[:-3] for x in path.iterdir() if x.is_file() and re.search("^[a-z]*\.py$", x.name)]
10
11# 动态导入每个模块
12for name in names:
13    importlib.import_module(f".{name}", __name__)

这样,文件夹中的每个模块将被导入并添加到当前命名空间中。你可以直接使用导入的模块进行操作。

总结

通过使用importlib模块,可以实现一次性导入文件夹中的所有模块。这种方法适用于需要一次性导入多个模块的情况。在导入模块时,可以根据需要对模块进行修改和使用。


相关文章推荐