将json文件保存到计算机python
Posted
技术标签:
【中文标题】将json文件保存到计算机python【英文标题】:Saving a json file to computer python 【发布时间】:2013-07-08 03:51:48 【问题描述】:在 Python 中使用 requests
我正在执行一个 GET,请求一个 JSON 文件,稍后我可以使用命令 solditems.json()
访问和修改、调整等。但是我想将此 JSON 文件保存到我的计算机上。浏览请求文档我一无所获,有没有人有一个简单的方法可以做到这一点?
【问题讨论】:
【参考方案1】:您可以像没有requests
那样做。您的代码可能类似于,
import json
import requests
solditems = requests.get('https://github.com/timeline.json') # (your url)
data = solditems.json()
with open('data.json', 'w') as f:
json.dump(data, f)
【讨论】:
没有充分的理由反序列化然后重新序列化 JSON。只需将solditems.content
直接写入文件即可。
我的印象是 OP 会在写入文件之前对其进行调整。 “访问和修改、调整等”。这只是一个例子:)
只是添加信息:我们不需要先创建data.json,因为这个答案会自动生成data.json。【参考方案2】:
使用标准库的新 pathlib
库也很容易做到这一点。请注意,此代码纯粹是“将 HTTP 响应的字节写入文件”。它很快,但它没有验证您正在编写的字节是有效的 JSON。
import requests
import pathlib
solditems = requests.get('https://github.com/timeline.json') # (your url)
pathlib.Path('data.json').write_bytes(solditems.content)
【讨论】:
【参考方案3】:根据@Lukasa 的评论,这加速了@Jared 的解决方案:
import requests
solditems = requests.get('https://github.com/timeline.json') # (your url)
data = solditems.content
with open('data.json', 'wb') as f:
f.write(data)
【讨论】:
以上是关于将json文件保存到计算机python的主要内容,如果未能解决你的问题,请参考以下文章
如何将python dicts列表保存到具有垂直显示的json文件中[重复]
Python:将 API 结果保存到 json 文件中? [复制]
保存数据到文件的模块(configparser,json,pickle,shelve,xml)_python
使用 Python,将 google.cloud.bigquery.job.query.QueryJob 输出保存到本地 JSON 文件