Python猴子补丁
发布时间:2021-01-12 04:12:04 所属栏目:Python 来源:互联网
导读:我需要monkeypatch请求’响应类(版本1.0.4,当前的这个问题),添加其他方法. 我有这个代码: import requestsclass Response(requests.models.Response): def hmm(self): return okrequests.models.Response = Responser = reques
我需要monkeypatch请求’响应类(版本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时,它失败 我认为这是因为它变得困惑,因为我已经取代了班级,我觉得我正在做一些愚蠢的事情,有什么想法?提前致谢. 解决方法你最好只是把你的功能直接添加到类中: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' (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |