使用Python 3,我想读取一个XML网页并将其保存在本地驱动器中。 另外,如果文件已经存在,它必须覆盖它。通过URL打开一个XML文件并保存
我测试像一些脚本:
但我有一个错误:
TypeError: a bytes-like object is required, not 'int'
使用Python 3,我想读取一个XML网页并将其保存在本地驱动器中。 另外,如果文件已经存在,它必须覆盖它。通过URL打开一个XML文件并保存
我测试像一些脚本:
但我有一个错误:
TypeError: a bytes-like object is required, not 'int'
我找到了一个解决方案:
from urllib.request import urlopen
xml = open("import.xml", "r+")
xml.write(urlopen('URL').read().decode('utf-8'))
xml.close()
感谢您的帮助。
的第一个建议:做什么甚至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)
每当python给你一个堆栈跟踪,请张贴完整的堆栈跟踪,而不是只是错误消息。这有助于确定确切的错误,而不是仅仅猜测它在哪里。 – Guillaume