Python 3.0-3.4中的Monkeypatch PEP 461

时间:2014-04-09 13:07:31

标签: python python-3.x

是否可以在Python 3.0-3.4中使用monkeypatch PEP 461功能?

(我正在将dulwich移植到python 3,因为它有很多协议和文件格式代码,所以它在很大程度上依赖于字节格式化。)

1 个答案:

答案 0 :(得分:0)

要进行monkeypatch,您需要为bytes.format分配相关功能。尝试使用虚函数:

>>> bytes.format = lambda *s: None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't set attributes of built-in/extension type 'bytes'

所以,不,你不能这样做。您需要修改创建bytes类的C代码 - 此时,您可能只需应用相关错误中的补丁。