2010-01-17 118 views
5

有什么办法导入当前目录中的所有模块,并返回它们的列表?导入目录中的所有模块

例如,对于与目录:

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

它会给你[<module 'mod'>, <module 'mod2'>, <module 'mod3'>]

+0

可能的重复[在Python中加载文件夹中的所有模块](http://stackoverflow.com/questions/1057431/loading-all-modules-in-a-folder-in-python) – 2012-03-25 06:13:33

回答

1

我想我有你的想法。

尝试以下操作:

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

这样,你得到module对象的列表,并且不污染全局命名空间。

+2

为了使其工作,你需要去除'.py'后缀。 – bereal 2016-05-31 10:29:12

+0

@bereal非常感谢!然而,这很容易。 – 2016-06-05 15:30:22

相关问题