动态加载模块,python反射机制

动态加载模块,python反射机制,第1张

动态加载模块用的模块importlib 里面的import_module(“字符串模块路径”, 相对路径包名)

2.getattr(对象,“字符串属性”,默认值)

补充

任意创建一个文件夹,在里面同级创建f1-f4.py的四个文件。

内容如下:

f1.py

f2.py

f3.py

f4.py

f5.py

f4.py:通过动态导入模块,动态添加属性 删除。可以解决接口自动化中的动态传参

F5.py: 通过传参的方式,去获取类的实例方法,可以做到不知道需要哪个方法的时候,用字符串的方法去调用需要的方法。接口自动化中参数化的时候可以用到。

反射机制,当通过类名去反射得到的实例方法,需要传类名进去。通过self或者对象得到的实例方法,不需要传self或者类名。如果是实例对象或者类 去调用静态方法, 都不用给函数传self cls

这里以安装第三方ngx_http_google_filter_module模块为例。

Nginx的模块是需要重新编译Nginx,而不是像Apache一样配置文件引用.so

查看nginx编译安装时安装了哪些模块

将命令行切换到Nginx执行程序所在的目录并输入./nginx -V,具体如下:

可以看出编译安装Nginx使用的参数如下:

加入需要安装的模块,重新编译

这里添加 --add-module=/data/software/ngx_http_google_filter_module

具体如下:

如上,将之前安装Nginx的参数全部加上,最后添加 --add-module=/data/software/ngx_http_google_filter_module

之后,我们要进行编译 *** 作,如下:

这里,需要注意的是:不要执行make install命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11530640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存