动态将模块导入python函数

时间:2019-12-20 14:26:46

标签: python import parameters module

我有这个项目结构

utilities.py 
/references
    module1.py
    module2.py
    ...

我要有一个函数,该函数可以使用这样的参数动态导入:

def import(self, file):    
    from references.file import file  
    ...

进入我使用的Utility.py文件

import("module1")

但是它不起作用,出现以下错误

from references.file import steps ModuleNotFoundError: No module named 'references.file'

我需要一些帮助,谢谢

1 个答案:

答案 0 :(得分:1)

如果要使用字符串名称导入,请尝试使用importlib.import_module()函数。

您可能具有一个类似以下功能的功能:

def dynamic_import(file):
    importlib.import_module(f'references.{file}')

要获得更多控制权,您可以使用内置的__import__(),但这涉及更多,因此不建议这样做