Каково Различие между cElementtree и ElementTree?

Я знаю немного dom и хотел бы узнать о ElementTree. Python 2.6 имеет несколько более старую реализацию ElementTree, но все еще применимый. Однако похоже, что это идет с двумя различными классами: xml.etree. ElementTree и xml.etree.cElementTree. Кто-то был бы так добр для просвещения меня с их различиями?Спасибо.

15
задан Hai Vu 28 February 2010 в 16:32
поделиться

3 ответа

Это та же библиотека (тот же API, те же функции ), но ElementTree реализован на Python, а cElementTree реализован на C.

Если вы можете, используйте реализацию C, потому что она оптимизирована для быстрого синтаксического анализа и низкого использования памяти и в 15-20 раз быстрее, чем реализация Python.

Используйте версию Python, если вы находитесь в ограниченной среде (загрузка библиотеки C не разрешена).

28
ответ дан 1 December 2019 в 00:49
поделиться

Из http://effbot.org/zone/celementtree.htm :

Модуль cElementTree представляет собой реализацию C API ElementTree, оптимизированный для быстрого синтаксического анализа и низкого использования памяти. В типичных документах cElementTree в 15-20 раз быстрее, чем версия ElementTree для Python, и использует в 2-5 раз меньше памяти

6
ответ дан 1 December 2019 в 00:49
поделиться

ElementTree реализован на python, в то время как cElementTree реализован на C. Таким образом, cElementTree будет быстрее, но также недоступен там, где у вас нет доступа к C, например, в Jython или IronPython или на Google App Engine.

Функционально они должны быть эквивалентны.

4
ответ дан 1 December 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: