Python 动态导入对象,importlib.import_module()的使用方法

yipeiwu_com5年前Python基础

背景

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

解决

文件结构

a #文件夹
 │a.py
 │__init__.py
b #文件夹
 │b.py
 │__init__.py
 ├─c#文件夹
 │c.py
 │__init__.py

# c.py 中内容
args = {'a':1}

class C:
 
 def c(self):
  pass

目的

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

解决方案

a.py

import importlib

params = importlib.import_module('b.c.c') #绝对导入
params_ = importlib.import_module('.c.c',package='b') #相对导入

# 对象中取出需要的对象
params.args #取出变量
params.C #取出class C
params.C.c #取出class C 中的c 方法

以上就是动态函数import_module的使用方法。

这篇Python 动态导入对象,importlib.import_module()的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用正则表达式分析网页中的图片并进行替换的方法

本文实例讲述了python使用正则表达式分析网页中的图片并进行替换的方法。分享给大家供大家参考。具体分析如下: 这段代码分析网页中的所有图片表单<img>,分析后为其前后添加...

线程安全及Python中的GIL原理分析

本文讲述了线程安全及Python中的GIL。分享给大家供大家参考,具体如下: 摘要 什么是线程安全? 为什么python会使用GIL的机制? 在多核时代的到来的背景下,...

python opencv将图片转为灰度图的方法示例

python opencv将图片转为灰度图的方法示例

使用opencv将图片转为灰度图主要有两种方法,第一种是将彩色图转为灰度图,第二种是在使用OpenCV读取图片的时候直接读取为灰度图。 将彩色图转为灰度图 import cv2 im...

Python中关于浮点数的冷知识

本周的PyCoder's Weekly 上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家。 它提到的部分问题,读者们可以先思考下: 若两个元组相等,即 a==...

关于sys.stdout和print的区别详解

关于sys.stdout和print的区别详解

一、sys.stdout的形式就是print的一种默认输出格式,等于print "%VALUE%" print函数是对sys.stdout的高级封装,看下print函数的解释 Pri...