本文介绍了真的很奇怪...无法设置内置/扩展类型为'lxml.etree._Element'的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在没有问题之前,我已经更改了其他类的属性._Element显然不是内置的.

I've changed attributes for other classes before without issues. _Element is obviously not a built-in.

from lxml.etree import _Element
_Element.new_attr = 54

导致:

TypeError: 无法设置内置/扩展类型 'lxml.etree._Element' 的属性

TypeError: can't set attributes of built-in/extension type 'lxml.etree._Element'

推荐答案

_Element 在Cython中实现.正如史蒂夫·霍尔顿(Steve Holden)解释(我的重点),

_Element is implemented in Cython. As Steve Holden explains (my emphasis),

和Guido van Rossum解释了为什么这是设计使然:

and Guido van Rossum explains why this is by-design:

这篇关于真的很奇怪...无法设置内置/扩展类型为'lxml.etree._Element'的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-06 07:22