什么是monkey patch(猴子补丁)

Posted dairuiquan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是monkey patch(猴子补丁)相关的知识,希望对你有一定的参考价值。

  • 所谓mokey patch就是运行时替换
  • 比如gevent库需要修改内置的socket
  • from gevent import monkey; mokey.patch_socket()     这样就把内置的阻塞的 socket替换成非阻塞的socket

看代码

import socket

print(socket.socket)


print("After monkey patch")
from gevent import monkey
monkey.patch_socket()
print(socket.socket())

import select
print(select.select)
monkey.patch_select()
print("After monkey patch")
print(select.select)


import time
print(time.time())

def _time():
    return 1234

time.time = _time
print(time.time())    # 这样就实现了运行替换,所谓的monkey patch

 

以上是关于什么是monkey patch(猴子补丁)的主要内容,如果未能解决你的问题,请参考以下文章

Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?

猴子补丁(monkey patch)

python协程初步--gevent库使用以及解释什么是猴子补丁monkey_patch

python的猴子补丁monkey patch

gevent协程之猴子补丁带来的坑

gevent猴子补丁和断点