gpt4 book ai didi

Python开发-elementtree XML和字符串操作

转载 作者:行者123 更新时间:2023-12-01 06:10:30 25 4
gpt4 key购买 nike

我正在使用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)。因此,当我在 View 中循环浏览它们时,它会将它们吐出,但是如果我只想要那个 flv,我该如何获取该 flv 呢?或者只是mp4?它们也不总是以相同的顺序出现在列表中。

有没有办法说如果它以 .mp4 结尾,然后执行此操作,或者有没有办法在模板中执行此操作?

如果我尝试这样做;

        url = i.attrib
if url.get("Href", () ).endswith('jpg'):
result.append(i.attrib)

我收到错误元组对象没有属性结尾。为什么这是一个元组?我以为这是一个字典?

最佳答案

您得到一个元组,因为您提供了一个元组(括号)作为 url.get() 的默认返回值。提供一个空字符串,您可以使用其 .endswith() 方法。另请注意,元素本身有一个 get() 方法来检索属性值(您不必通过 .attrib)。示例:

if i.get('Href', '').endswith('.jpg'):
result.append(i.attrib)

关于Python开发-elementtree XML和字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6198991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com