Python importlib 动态加载模块

# 创建一个 src 文件夹,里面有一个 commons.py 文件,内容如下
def add():
    print("add ....")

# 创建一个 app.py 文件,内容如下:
module = ‘src.commons‘
func_name = ‘add‘

import importlib
m = importlib.import_module(module)
print(m)
func = getattr(m, func_name)
func()

# 运行 app.py ,结果:
add ....

原文地址:https://www.cnblogs.com/klvchen/p/10114949.html

时间: 2024-11-09 09:19:49

Python importlib 动态加载模块的相关文章

Python动态加载模块

需求:实现一个简单的pyton程序,接收两个参数:plugin_name, data,根据不同的plugin_name定位到不同的逻辑处理模块并进行输出. 实现方案: 使用python的库函数:load_source,将插件模块加载到一个dict中key为模块名称,value为类的实例,核心代码: def load_plugins(): global plugin_dict # 遍历插件目录加载所有py结尾的模块 for root, dirs, files in os.walk(module_p

python如何重新加载模块

Python如何重新加载模块?Python教程(http://www.maiziedu.com/course/python/)中重新加载模块的方法有哪些呢?在python开发中,我们为了防止两个模块互相导入的问题,Python默认所有的模块都只导入一次,可以在开发时,我们会需要重新导入模块,那么怎么办呢,下面一起看看python重新加载模块的几种方法吧: Python2.7可以直接用reload(),Python3可以用下面几种方法: 方法一:基本方法 from imp import reloa

tengine 动态加载模块简单上手

首先解释下 nginx里有各种各样的模块你在编译的时候得先添加进去. tengine开启了dso动态加载模块的支持,你只需要得到模块包 然后使用tengine的编译工具编译进去使用即可.不需要说哪个模块缺少需要整个重新编译了 具体操作如下 我以这个ngx_realtime_request_module 模块为例 git clone https://github.com/magicbear/ngx_realtime_request_module 下载这个包和tengine(自行编译安装) git

AngularJs 动态加载模块和依赖注入

最近项目比较忙额,白天要上班,晚上回来还需要做Angular知识点的ppt给同事,毕竟年底要辞职了,项目的后续开发还是需要有人接手的,所以就占用了晚上学习的时间.本来一直不打算写这些第三方的学习笔记,不过觉得按需加载模块并且成功使用这个确实是个好处,还是记录下来吧.基于本兽没怎么深入的使用requireJs,所以本兽不知道这个和requireJs有什么区别,也不能清晰的说明这到底算不算Angular的按需加载. 为了实现这篇学习笔记知识点的效果,我们需要用到: angular:https://g

Python自动重新加载模块(autoreload module)

守护进程模式 使用python开发后台服务程序的时候,每次修改代码之后都需要重启服务才能生效比较麻烦.看了一下Python开源的Web框架(Django.Flask等)都有自己的自动加载模块功能(autoreload.py),都是通过subprocess模式创建子进程,主进程作为守护进程,子进程中一个线程负责检测文件是否发生变化,如果发生变化则退出,主进程检查子进程的退出码(exist code)如果与约定的退出码一致,则重新启动一个子进程继续工作. 自动重新加载模块代码如下: #!/usr/b

apache和php动态加载模块

如何动态增加Apache和PHP模块 一.Apache动态增加模块: cd /home/redhat/httpd-2.2.15/modules/filters /usr/local/apache2/bin/apxs -i -c -a mod_deflate.c apxs命令参数说明:-i  此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中.-a  此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启

php动态加载模块gettext

安装php的模块有两种方式: 一.重新编译php,加上--with-gettext 二.动态安装 1.下载同版本的php原包,解压后进入ext目录,目录下便是模块 2.进入gettext目录下执行: /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install MAC安装时如遇到如下错误: Installing shared extensions: /

python 动态加载

动态加载模块: 方式1:系统函数__import__() __import__(name, globals=None, locals=None, fromlist=(), level=0) name[必填] - 模块名称globals - 全局变量集合,默认为None,一般不用设置.如果设置的话,常用globals().locals - 局部变量集合,默认为None,一般不用设置.如果设置的话,常用locals().fromlist - 是否导入子模块,看上去是导入模块的列表.但实际上目前它只是

js 动态加载事件的几种方法总结

本篇文章主要是对js 动态加载事件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法,我们也常常混合使用. 方法一.setAttributevar obj = document.getElementById("obj");obj.setAttribute("onclick", "javasc