python - 保存数据时保留新行

标签 python json

当我尝试将此 json 数据 [1] 保存到文件中时,python 不会保留 json 数据的新行。我想保存它。我该怎么做?

[1] 保存数据的代码

data = {
  "queuecapacity": "0.0",
  "maps": "9",
  "byteswritten": "44089526",
  "time": "52.5484039783",
  "mem": 49222464,
  "bytesread": "1102253727",
  "cpu": 32000
}

 with open(path, 'w') as out_file:
    out_file.write(json.dumps(data))

最佳答案

将缩进选项传递给 json.dumps()

out_file.write(json.dumps(data, indent=4))

来自 https://docs.python.org/2/library/json.html#json.dump ,

If indent is a non-negative integer, then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0, or negative, will only insert newlines. None (the default) selects the most compact representation.

另外,如果您已经有了文件对象,您可以使用 json.dump() 重写您的调用,

json.dump(data, out_file, indent=4)

关于python - 保存数据时保留新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34683835/

相关文章:

json - golang序列化反序列化时JSON属性名称不同

python - 情节显示 Jupyter 中的错误点

python - 带有 bool 张量的 tensorflow 索引

mysql - 试图将 MySQL 数据放入 d3 的嵌套 json 文件中?

java - 从 MySQL 下载 Android App 数据的有效方法

javascript - Vue.js:更新数据库中的子json数据格式

java - jackson :无法识别的属性异常

python - 我正在尝试安装 ipython 但出现权限错误

python - Pandas groupby 给出任何非 nan 值

python - 如何检测字典中的任何元素是否发生变化?