Python语言之Python探针实现原

文章来源:一氧化碳中毒   发布时间:2021-9-19 15:38:34   点击数:
  

点击蓝字获取更多优惠信息

1

本文将简单讲述一下Python探针的实现原理。同时为了验证这个原理,我们也会一起来实现一个简单的统计指定函数执行时间的探针程序。

探针的实现主要涉及以下几个知识点:

sys.meta_path

sitecustomize.py

sys.meta_path

sys.meta_path这个简单的来说就是可以实现importhook的功能,当执行import相关的操作时,会触发sys.meta_path列表中定义的对象。关于sys.meta_path更详细的资料请查阅python文档中sys.meta_path相关内容以及PEP。

sys.meta_path中的对象需要实现一个find_module方法,这个find_module方法返回None或一个实现了load_module方法的对象(代码可以从github上下载part1):

importsysclassMetaPathFinder:deffind_module(self,fullname,path=None):print(find_module{}.format(fullname))returnMetaPathLoader()classMetaPathLoader:defload_module(self,fullname):print(load_module{}.format(fullname))sys.modules[fullname]=sysreturnsyssys.meta_path.insert(0,MetaPathFinder())if__name__==__main__:import

转载请注明:http://www.lwblm.com/bzbk/12444.html
  • 上一篇文章:
  • 下一篇文章: 没有了