Python从webservice保存xml

2024-04-23 19:16:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用webservice从中获取特定的xml文件。它可以很好地与urllib2一起工作我将xml作为fileobject。所以我想知道什么是将它存储在内存中或不存储的最快方法-只是解析它。

我在那个对象上尝试了iterparse,它花费了太长时间,除非我先将它保存在文件中,然后iterparse花费的时间要少得多。

所以现在我先用这段代码在本地存储它,然后用我想要的文件来做,我想知道有没有一种最快的方法,最快的方法来存储文件。

url = "webservice"
s = urllib2.urlopen(url)

file = open("export.xml",'wb+')
for line in s:
    file.write(line)

谢谢


Tags: 文件对象方法内存weburlserviceline
2条回答

你不需要逐行写。把整件事一次写下来:

>>> import urllib2
>>> url = "webservice"
>>> s = urllib2.urlopen(url)
>>> contents = s.read()
>>> file = open("export.xml", 'w')
>>> file.write(contents)
>>> file.close()

可以将其存储在字符串中:

content = s.read()

如果需要类似文件的接口,可以使用StringIO

content = cStringIO.StringIO()
content.write(s.read)

相关问题 更多 >