【问题标题】:Saving a json file to computer python将json文件保存到计算机python
【发布时间】:2013-07-08 03:51:48
【问题描述】:

在 Python 中使用 requests 我正在执行一个 GET,请求一个 JSON 文件,稍后我可以使用命令 solditems.json() 访问和修改、调整等。但是我想将此 JSON 文件保存到我的计算机上。浏览请求文档我一无所获,有没有人有一个简单的方法可以做到这一点?

【问题讨论】:

    标签: python python-requests


    【解决方案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)
      

      【讨论】:

        猜你喜欢
        • 2018-05-17
        • 2012-02-06
        • 2016-11-09
        • 2020-12-23
        • 2015-06-25
        • 2021-03-11
        • 2020-07-13
        • 2018-11-16
        • 1970-01-01
        相关资源
        最近更新 更多