09 2022 档案

摘要:常用系统模块 os:与操作系统交互 os.name/ os.sep/ os.linesep.: 系统名称/系统路径分隔符/系统换行符 os.mkdir()/os.makedirs(): 建立目录/建立多级目录 os.getenv("PATH"): 获取系统PATH环境变了的设置 os.curdir/ 阅读全文
posted @ 2022-09-22 14:53 观棋不雨 阅读(89) 评论(0) 推荐(0) 编辑
摘要:本系列前五篇其实已经将pluggy的流程原理等分析完了,只有PluginManager类还有几个方法的源代码没有提到,这里将这些方法拿出来简单的分析一下,因为有可能会用到,当然也有可能根本不会用这些 (1)unregister 取消注册插件 注册插件的过程都分析过了,取消注册过程就简单了,这里可以简 阅读全文
posted @ 2022-09-02 13:49 观棋不雨 阅读(219) 评论(0) 推荐(0) 编辑
摘要:经过pluggy源码解读系列1-4的分析,已经完成插件定义、spec定义,插件注册等环节,下面就到了调用插件执行了,即hook钩子函数是如何被调用执行的,下面还是先把pluggy使用的代码放下面: import pluggy # HookspecMarker 和 HookimplMarker 实质上 阅读全文
posted @ 2022-09-02 13:44 观棋不雨 阅读(312) 评论(0) 推荐(0) 编辑
摘要:首先还是把pluggy使用的代码放在这,前面已经分析完add_hookspecs的源代码,下面紧接着就是注册插件了 import pluggy # HookspecMarker 和 HookimplMarker 实质上是一个装饰器带参数的装饰器类,作用是给函数增加额外的属性设置 hookspec = 阅读全文
posted @ 2022-09-01 16:07 观棋不雨 阅读(355) 评论(0) 推荐(0) 编辑
摘要:pluggy使用举例子代码: 下面这个例子中前面已经分析完了,下面的步骤就是pm.add_hookspecs(MySpec) 这个一步骤了,同样,这个add_hookspecs方法也是PluginManager类的一个方法,下面就针对这个函数进行分析 import pluggy # Hookspec 阅读全文
posted @ 2022-09-01 16:04 观棋不雨 阅读(246) 评论(0) 推荐(0) 编辑
摘要:PluginManager类简介 首先还是把pluggy的小例子放在这: import pluggy # HookspecMarker 和 HookimplMarker 实质上是一个装饰器带参数的装饰器类,作用是给函数增加额外的属性设置 hookspec = pluggy.HookspecMarke 阅读全文
posted @ 2022-09-01 15:55 观棋不雨 阅读(245) 评论(0) 推荐(0) 编辑
摘要:简介 pluggy是一个非常优秀的插件系统,它是理解pytest的核心,只有理解了pluggy的原理,才能更好的理解和使用pytest,否则见到了pytest的很多应用都会感觉很难理解 pluggy插件总共的代码量不足一千行,而实现的功能却是如此的强大和好用,这不由得让我们对pytest的源码实现充 阅读全文
posted @ 2022-09-01 15:49 观棋不雨 阅读(353) 评论(0) 推荐(0) 编辑