Skip to main content
 首页 » 编程设计

python之遍历给定目录中的 python 文件并导入它们

2025年05月04日24jirigala

我正在用 python 开发一个小宠物项目,我希望能够编写外部模块并动态导入它们。到目前为止,我有这样的东西:

def getModules(self): 
    os.chdir(moduleDir) 
    for module in os.listdir(): 
          #code goes here to import 
          #also append to a list for use later on 

我会使用 import module,但这只会给出一个语法错误。

请您参考如下方法:

您可以使用 importlib.import_module()像这样:

import importlib 
 
my_modules = [] 
 
def getModules(self): 
    os.chdir(moduleDir) 
    for module in os.listdir(): 
          my_module = importlib.import_module(module[:-3])  # Or: module.split('.')[0] 
          my_modules.append(my_module) 

示例:

假设我们有一个包含以下函数的模块a:

def fn(): 
    print("Hello World") 

结果如下:

>>> import importlib 
>>> 
>>> my_module = importlib.import_module('a')  # Note: 'a' without '.py' 
>>> 
>>> my_module.fn() 
Hello World