2017-10-20 46 views
0

使用Python 3,我想读取一个XML网页并将其保存在本地驱动器中。 另外,如果文件已经存在,它必须覆盖它。通过URL打开一个XML文件并保存

我测试像一些脚本:

​​

但我有一个错误:

TypeError: a bytes-like object is required, not 'int' 
+0

每当python给你一个堆栈跟踪,请张贴完整的堆栈跟踪,而不是只是错误消息。这有助于确定确切的错误,而不是仅仅猜测它在哪里。 – Guillaume

回答

0

我找到了一个解决方案:

from urllib.request import urlopen 

xml = open("import.xml", "r+") 

xml.write(urlopen('URL').read().decode('utf-8')) 

xml.close() 

感谢您的帮助。

0

的第一个建议:做什么甚至official urllib docs says,不使用urllib,使用requests代替。

你的问题是你使用.writelines(),它需要一个行列表,而不是一个字节对象(在Python中一次错误消息不是很有帮助)。使用.write()代替

import requests 
resp = requests.get('URL') 
with open('file.xml', 'wb') as foutput: 
    foutput.write(resp.content)