【问题标题】:How to Build a Json Object by Sending it Part by Part to a File in Python 2.7?如何在 Python 2.7 中通过将 Json 对象部分发送到文件来构建它?
【发布时间】:2012-05-15 15:26:10
【问题描述】:

我目前正在从事一个项目,最终我创建了一个非常大的 JSON 字典字典。一次将整个对象保存在内存中会很痛苦,并且由于我正在逐个键计算将进入字典的内容,因此我希望有一种方法可以将每个键写入文件,我最终会将 json 转储为一旦它的值被计算出来。这样我就不需要一次在内存中保存多个键/值对,这太棒了。

对象的形式为:

{key: {key: val, key: val, key:val, etc...},
 key: {key: val, key: val, key:val, etc...},
 key: {key: val, key: val, key:val, etc...},
 etc...
}

如果我只是手动打印 JSON 中字典的开头和结尾以及我打印的每个 JSON 子字典周围的逗号,这不会很难做到,但我认为必须有一种方法可以通过其中一个来做到这一点Python 的 JSON 库更简洁。想法?

【问题讨论】:

    标签: python json


    【解决方案1】:

    Python 的内置 json 模块加载和转储整个对象,因此您不能直接使用它。有可用的事件驱动 ("SAX style") JSON 解析器,例如yajl,它有Python bindings

    我个人尽量不使用 3rd-party 依赖项,除非我必须这样做,所以我可能会手动打印开始/结束/键并使用内置 JSON 模块。或者只是将整个事情留在记忆中。它实际上需要多少内存?请记住,只有在您分析并发现它是一个问题时才进行优化。 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多