Python 动态导入对象,importlib.import_module()的使用方法
背景
一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。
解决
文件结构
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动态导入模块的方法.分享给大家供大家参考,具体如下: 一.正常导入模块 正常模块导入方式: import module(模块路径) 同时导入多个模块: import os,sys,socket 二.动态导入模块 动态导入模块允许我们通过字符串形式来导入模块 2.1 __import__函数,接受一个字符串参数 import os, sys my_sys = __import__('sys') my_os = __import__('os') print(sys.vers
-
Python引用(import)文件夹下的py文件的方法
Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同,下面来看看这个例子. 目录结构: a.py 要 import dir目录下的 b.py 文件.a.py代码如下: 复制代码 代码如下: # coding=utf-8 "import dir 目录下的 b.py 文件" impo
-
Python中动态获取对象的属性和方法的教程
首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding: UTF-8 import sys # 模块,sys指向这个模块对象 import inspect def foo(): pass # 函数,foo指向这个函数对象 class Cat(object): # 类,Cat指向这个类对象 def __init__(self, name='kitty'): self.name = name def sayHi(self): # 实例方法,sayHi指向这个方法对象,使用类或实例.
-
Python中标准模块importlib详解
1 模块简介 Python提供了importlib包作为标准库的一部分.目的就是提供Python中import语句的实现(以及__import__函数).另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer). 什么是imp? 另外有一个叫做imp的模块,它提供给Python import语句机制的接口.这个模块在Python 3.4中被否决,目的就是为了只使用importlib. 这个模块有些复杂,因此我们在这篇博文中主要讨论以下几个主题: •动态引入
-
Python 动态导入对象,importlib.import_module()的使用方法
背景 一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行. 解决 文件结构 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_m
-
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
本文实例讲述了Python动态导入模块:__import__.importlib.动态导入的使用场景.分享给大家供大家参考,具体如下: 相关内容: __import__ importlib 动态导入的使用场景 首发时间:2018-02-23 16:06 __import__: 功能: 是一个函数,可以在需要的时候动态导入模块 使用: __import__(模块名) 但对于多级目录,只会导入第一级 目录结构: mo1=__import__("des") mo2=__import__(&q
-
python 动态导入模块实现模块热更新的方法
最近有个部署需求,需要读取py文件格式的配置项,我的实现思路是把配置文件解析到内存中.主要使用两种方法: importlib.import_module types.ModuleType 方法1.使用 import_module 动态导包 先来看看import module使用方法. 主要有两个参数: package:包名 name:模块名 返回 module 对象 现在开始实现动态导包,成功读取到配置项. import importlib settings = importlib.import
-
Python动态导入模块和反射机制详解
一.前言 何谓动态导入模块,就是说模块的导入可以根据我们的需求动态的去导入,不是像一般的在代码文件开头固定的导入所需的模块. 何谓反射机制,利用字符串的形式在模块或对象中操作(查找/获取/删除/添加)成员. 下面进入具体实例介绍环节.先创建一个示例文件example.py,简单写入几个加减乘除函数,如下,方便下文讲解使用. flag = 1 # 此变量在介绍反射机制时会用到 def my_sum(a, b): return a + b def my_sub(a, b): return a - b
-
以SortedList为例详解Python的defaultdict对象使用自定义类型的方法
目录 写在前面 第一种方法: 封装成函数 第二种方法: 类封装 写在前面 最近写周赛题, 逃不开的一种题型是设计数据结构, 也就是第三题, 做这种题需要的就是对语言中的容器以及常用排序查找算法的掌握, 而我只熟悉了最基本的一些方法, 做起这些题来总是超时… 为了搞定这些题, 我决定学习一下大佬们的做法, 特别是优先队列的方法维护有序容器以及有序列表等容器, 这些都在Python中封装好了, 用起来很是方便, 但是采用defaultdict的时候, 其缺省数据类型常常需要与题目给出的特定结构匹配,
-
JS动态给对象添加事件的简单方法
WEB项目中,我们常常会碰到要动态对相应的对象添加事件,如下,有id="txtPrice"的文本框控件: <div> <input type="text" id="txtPrice" name = "txtPrice" value = "0"/> <div> 现在我们为其动态添加一事件,JS核心代码如下: document.getElementById("txt
-
Python字典数据对象拆分的简单实现方法
本文实例讲述了Python字典数据对象拆分的简单实现方法.分享给大家供大家参考,具体如下: 有朋友问了下问题: {'A1;A2': 'B','A3': 'C'}这种数据结构要拆解成{'A1':'B', 'A2': 'B', 'A3': 'C'},要如何实现? 这种问题,如果用普通的for循环来实现的话,还是有点麻烦: >>> dct = {'A1;A2': 'B','A3': 'C'} >>> tmp = {} >>> for k,v in dct.i
-
Python 中导入csv数据的三种方法
Python 中导入csv数据的三种方法,具体内容如下所示: 1.通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件.这个类库中的reader()函数用来导入CSV文件.当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型.: from csv importreader import numpy as np filename=input("请输入文件名: ") withopen(filename,'rt',encoding='
-
Python之字典对象的几种创建方法
第一种方式:使用{} firstDict = {"name": "wang yuan wai ", "age" : 25} 说明:{}为创建一个空的字典对象 第二种方式:使用fromkeys()方法 second_dict = dict.fromkeys(("name", "age")) #value使用默认的None,也可以指定value值 说明:fromkeys()是dict类的一个staticmeth
随机推荐
- python3.4下django集成使用xadmin后台的方法
- 提供复制本站内容时出现,该文章转自脚本之家等字样的js代码 原创
- 关于Ajax中通过response在后台传递数据问题
- JSP数据库操数据分页显示
- SQL注入绕过的技巧总结
- 关于Spring3 + Mybatis3整合时多数据源动态切换的问题
- python关键字and和or用法实例
- 删除无限分类并同时删除它下面的所有子分类的方法
- Python第三方库xlrd/xlwt的安装与读写Excel表格
- 分享一个Android设置圆形图片的特别方法
- JS画线(实例代码)
- 谈谈impress.js初步理解
- 分享15款Java程序员必备的开发工具
- Java中二叉树数据结构的实现示例
- jquery实现点击弹出层效果的简单实例
- 微信小程序 页面跳转和数据传递实例详解
- Java多线程编程中的两种常用并发容器讲解
- sqlserver、Mysql、Oracle三种数据库的优缺点总结
- 安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法
- 终于发现了鼠标关机后仍然发光的原因了与关闭键盘鼠标开机功能的方法第1/2页