getiterator()和iter()wrt与lxml有什么区别

use*_*312 4 python lxml

正如问题所说,有什么区别:

x.getiterator()并且x.iter(),xElementTree或Element在哪里?因为它似乎适用于两者,我已经尝试过了.

如果我在某处错了,请纠正我.

Bru*_*oij 7

ElementTreePython文档声明该getiterator()方法已从版本2.7开始弃用,并表示要使用Element.iter().该LXML API文档指出相同的,但也提到的实施getiterator()中LXML从原来的ElementTree行为发散.

有趣的是,文档还指出"如果你想要一个有效的迭代器,请使用tree.iter()方法".注意"有效"这个词,这让我相信在getiterator()和之间的实现中肯定存在差异iter(),但是如果没有检查出来,我就无法100%肯定.

无论如何,如果某件事已被弃用,很明显他们不希望你使用它.


Ale*_*lli 0

getiteratorElementTree此方法的标准拼写;iter是一个等效的lxml-only 方法,如果您需要它,它会阻止您的代码工作ElementTree,并且除了节省您在方法名称中键入 7 个字符之外,似乎没有任何可取之处;-)。