正如问题所说,有什么区别:
x.getiterator()并且x.iter(),xElementTree或Element在哪里?因为它似乎适用于两者,我已经尝试过了.
如果我在某处错了,请纠正我.
ElementTree的Python文档声明该getiterator()方法已从版本2.7开始弃用,并表示要使用Element.iter().该LXML API文档指出相同的,但也提到的实施getiterator()中LXML从原来的ElementTree行为发散.
有趣的是,文档还指出"如果你想要一个有效的迭代器,请使用tree.iter()方法".注意"有效"这个词,这让我相信在getiterator()和之间的实现中肯定存在差异iter(),但是如果没有检查出来,我就无法100%肯定.
无论如何,如果某件事已被弃用,很明显他们不希望你使用它.
getiterator是ElementTree此方法的标准拼写;iter是一个等效的lxml-only 方法,如果您需要它,它会阻止您的代码工作ElementTree,并且除了节省您在方法名称中键入 7 个字符之外,似乎没有任何可取之处;-)。