导入目录中的所有模块

5 投票
1 回答
2840 浏览
提问于 2025-04-15 18:08

有没有什么方法可以导入当前目录下的所有模块,并返回一个它们的列表呢?

比如说,假设这个目录里有:

  • mod.py
  • mod2.py
  • mod3.py

那么它会给你一个这样的结果:[<module 'mod'>, <module 'mod2'>, <module 'mod3'>]

1 个回答

1

我觉得我明白你的意思了。

试试下面这个:

import glob
modules = []
for module_name in glob.glob("*.py"):
    modules.append(__import__(module_name[:-3]))

这样你就能得到一系列的 module 对象,而且不会弄乱全局的命名空间。

撰写回答