猴子修补python代码的实用函数

python-monkey-business的Python项目详细描述


关于

python monkey business是一个包,它为 猴子在运行时修补python函数。

安装

使用pip:

pip install python-monkey-business

或者,从源安装:

pip install -e git+https://github.com/theatlantic/python-monkey-business.git#egg=python-monkey-business

如果源已签出,请使用设置工具:

python setup.py develop

用法

使用python monkey business在运行时交换类或模块中的函数:

importmonkeybizfromfoomoduleimportFooClassimportbarmodule# This replaces FooClass.bar with our method@monkeybiz.patch(FooClass)defbar(original_fn,*args,**kwargs):print"Patched!"returnoriginal_fn(*args,**kwargs)# This replaces barmodule.baz with our function@monkeybiz.patch(barmodule)defbaz(original_fn,*args,**kwargs):#...

monkeybiz.patch的第一个参数可以是模块、类, 或者模块和/或类的列表。decorator还接受可选的 nameavoid_doublewrap关键字参数。如果省略name, 正在修补的函数的名称将是正在修补的函数的名称 装饰。如果avoid_doublewrap为true(默认值),则函数和 使用此函数只能修补一次方法。

使用monkeybiz.unpatch()将猴子修补的函数还原为其原始函数。

许可证

此代码是根据Simplified BSD License授权的。查看 LICENSE根目录下的文件,用于获取完整的许可证和 版权信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将JButton合并到图形中?   java在每个循环中使用基类类型或派生类类型   JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中   java Android获取getDefaultSensor括号时出错   java Spring引导和安全性与AngularJS登录页面   java注销appengine应用程序而不从google注销。通用域名格式   java仅在发生错误或异常时创建日志文件,而不使用log4j   java get json数组和Retrift 2   swing中的java响应映像   为什么java的inputstream。close()块?   java驱动管理器。getConnection()非常冗长   java如何使用joml将标准化向量旋转到一个点   ubuntu将Java程序的输出结果保存到一个文件中   java动态可拖动、可编辑和自动调整大小的文本字段