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

yipeiwu_com7年前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 使用 PyMysql、DBUtils 创建连接池提升性能

Python 使用 PyMysql、DBUtils 创建连接池提升性能

Python 编程中可以使用 PyMysql 进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接 MySQL 数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一...

Python实现高效求解素数代码实例

素数是编程中经常需要用到的。 作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。 #coding:utf-8 #设置python...

Python单元测试unittest的具体使用示例

Python单元测试unittest的具体使用示例

Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。 unittest是python的标准...

matlab中实现矩阵删除一行或一列的方法

实例如下所示: >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 删除行: >> A...

python 遍历pd.Series的index和value

遍历pd.Series的index和value的方法如下,python built-in list的enumerate方法不管用 for i, v in s.items(): p...