2010-01-17 138 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

相關問題