当前位置:   article > 正文

记录 | python importlib.import_module()用法_importlib.import_module('models.%s.fscil_trainer'

importlib.import_module('models.%s.fscil_trainer' % (args.project)).fsciltra

先入为主

背景

一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。

解决

文件结构

  1. a #文件夹
  2. │a.py
  3. │__init__.py
  4. b #文件夹
  5. │b.py
  6. │__init__.py
  7. ├─c#文件夹
  8. │c.py
  9. │__init__.py
  10. # c.py 中内容
  11. args = {'a':1}
  12. class C:
  13. def c(self):
  14. pass

目的

向a模块中导入 c.py 中的对象

解决方案

a.py

  1. import importlib
  2. params = importlib.import_module('b.c.c') #绝对导入
  3. params_ = importlib.import_module('.c.c',package='b') #相对导入
  4. # 对象中取出需要的对象
  5. params.args #取出变量
  6. params.C #取出class C
  7. params.C.c #取出class C 中的c 方法
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/272227
推荐阅读
相关标签
  

闽ICP备14008679号