最近需要访问一个在线网址获取数据,该文件接近10mb,是 XML 格式的 plist 文件,所以打算访问网址获取数据后,先存到本地,再读取文件,访问数据。生成和解析 plist 文件需要导入 plistlib 库;从一个 bytes 对象加载 plist 文件使用 loads() 函数,写入 plist 文件使用 dump() 函数,解析 plist 文件使用 load() 函数,得到的结果为字典类型,可直接访问具体键值对。
import requests
from plistlib import load, loads, dump, FMT_XML
if __name__ == '__main__':
file = 'xml.plist'
res = requests.get(url)
# res.content 为响应得二进制数据, FMT_XML:XML文件格式
pl = loads(res.content)
with open(file, 'wb') as fp:
dump(pl, fp, fmt=FMT_XML)
with open(file, 'rb') as fp:
plist_dict = load(fp, fmt=FMT_XML)
参考文档: