gpt4 book ai didi

Python 猴子补丁

转载 作者:太空狗 更新时间:2023-10-29 19:37:47 30 4
gpt4 key购买 nike

我需要 monkeypatch 请求的 Response 类(版本 1.0.4,当前为这个问题),以添加其他方法。

我有这个代码:

import requests

class Response(requests.models.Response):
def hmm(self):
return 'ok'

requests.models.Response = Response

r = requests.get('http://bbc.co.uk')

print r

原始响应调用 super() 时失败 - https://github.com/kennethreitz/requests/blob/master/requests/models.py#L391

我认为这是因为它变得困惑,因为我已经替换了类(class),我觉得我在做一些愚蠢的事情,有什么想法吗?提前致谢。

最佳答案

你最好直接将你的函数添加到类中:

def hmm(self):
return 'ok'
requests.models.Response.hmm = hmm

这很好用:

>>> import requests
>>> def hmm(self):
... return 'ok'
...
>>> requests.models.Response.hmm = hmm
>>> r = requests.get('http://bbc.co.uk')
>>> print r
<Response [200]>
>>> r.hmm()
'ok'
>>> requests.__version__
'1.0.4'

关于Python 猴子补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158947/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com