gpt4 book ai didi

python - ElementTree XML 解析和 urllib2.urlopen

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:29 27 4
gpt4 key购买 nike

我打开一个 URL 使用:

response = urllib2.urlopen(url, data, timeout=_TIMEOUT)

并使用 response.read(),它给出以下输出:

<XMLlookup licenseid="X4X6X42" reason="OK" status="1" />

但是当我想使用 ElementTree 解析它时,就像这样:

print response.read()
t = ET.parse(response)
r = t.getroot()
print r.attrib.get('status')

给我以下错误信息:

File "<string>", line 62, in parse
File "<string>", line 38, in parse
cElementTree.ParseError: no element found: line 1, column 0

但是当我删除 response.read() 行时,代码工作正常。我做错了什么?

最佳答案

您只能读取一次响应,因为它是一个类似文件对象(实际上是一个 addinfol)。后续调用 read 将返回一个空字符串,因为您始终阅读了整个文本。

因此,要么在使用 ET.parse(response) 之前不调用 read,要么将结果存储在字符串中并将其用于 ET:

txt = response.read()
# do what you want with txt (without changing it)
t = ET.fromstring(txt)

关于python - ElementTree XML 解析和 urllib2.urlopen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26875148/

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