Кодирование проблем с etree.tostring Python

Немного справочной информации:

, Как сказано, если Вы хотите иметь динамический набор вещей, использование List<T>. Внутренне, Список использует массив для устройства хранения данных также. Тот массив имеет фиксированный размер точно так же, как любой другой массив. Как только массив объявляется как наличие размера, это не изменяется. Когда Вы добавляете объект к List, он добавляется к массиву. Первоначально, эти List начинается с массивом, которому я верю, имеет длину 16. То, когда Вы пытаетесь добавить 17-й объект к эти List, что происходит, - то, что новый массив выделяется, это (я думаю), дважды размер старого, таким образом, 32 объекта. Тогда содержание старого массива копируется в новый массив. Таким образом, в то время как List может казаться динамичным внешнему наблюдателю, внутренне это должно соответствовать правилам также.

И как Вы, возможно, предположили, копирование и выделение массивов не являются бесплатными, таким образом, нужно стремиться иметь как можно меньше из тех, и сделать это можно определить (в конструкторе List лет) начальный размер массива, который в идеальном сценарии является просто достаточно большим для содержания всего, что Вы хотите. Однако это - микрооптимизация, и маловероятно, что это будет когда-либо иметь значение для Вас, но всегда хорошо знать то, что Вы на самом деле выполнение.

10
задан smock 15 September 2009 в 16:20
поделиться

1 ответ

Вы кодируете текст дважды. Попробуйте следующее:

import xml.etree.cElementTree as etree
elem = etree.Element('tag')
elem.text = u"Würth Elektronik Midcom"
xml = etree.tostring(elem,encoding='UTF-8')
19
ответ дан 3 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

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