Я использую ElementTree , чтобы загрузить серию файлов XML и проанализировать их. Когда файл анализируется, я извлекаю из него несколько бит данных (заголовок и абзац текста). Затем мне нужно получить некоторые имена файлов, которые хранятся в XML. Они содержатся в элементе под названием ContentItem
.
Мой код выглядит примерно так:
for item in dirlist:
newsML = ET.parse(item)
NewsLines = newsML.getroot()
HeadLine = NewsLines.getiterator("HeadLine")
result.append(HeadLine)
p = NewsLines.getiterator("p")
result.append(p)
ci = NewsLines.getiterator("ContentItem")
for i in ci:
result.append(i.attrib)
Теперь, если бы был только один тип файла, это было бы хорошо, но он содержит 3 типа (jpg, flv и mp4). Так что, когда я перебираю их в представлении, они выплевываются, но как мне просто взять FLV, если я только хочу это? или только mp4? Они не всегда появляются в списке в одном и том же порядке.
Есть ли способ сказать, заканчивается ли он на .mp4, затем выполнить это действие, или есть ли способ сделать это даже в шаблоне?
Если я попытаюсь сделать это;
url = i.attrib
if url.get("Href", () ).endswith('jpg'):
result.append(i.attrib)
Я получаю сообщение об ошибке: объект кортежа не имеет атрибута заканчивается. Почему это кортеж? Я думал, что это был диктат?