如何从其他子目录导入文件?

时间:2019-01-21 23:50:17

标签: python python-3.x

我无法从其他目录导入动态命名的脚本。我将一个字符串作为输入,它对应于具有所需类“ model”的python模块。我的目录结构如下所示。

例如,字符串“ v1”表示将“ models / v1.py”导入为mod并从该模块获取模型类。

我尝试了importlib软件包的多次迭代,以及附加了sys路径以找到所需的模块,但无济于事。

  
      
  • 应用      
        
          
    • 型号          
            
              
      • v1.py
      •       
      • v2.py
      •       
          
    •     
    • src          
            
              
      • utils.py
      •       
          
    •     
      
  •   

2 个答案:

答案 0 :(得分:0)

您可以使用__import__函数:

models = __import__('models', fromlist=['v1'])

答案 1 :(得分:0)

我的解决方案是使用

sys.path.append('..')

之前

model = __import__('models.v1', fromlist=["v1"])