保存数据时保留新行

xeo*_*123 1 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))
Run Code Online (Sandbox Code Playgroud)

小智 7

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

out_file.write(json.dumps(data, indent=4))
Run Code Online (Sandbox Code Playgroud)

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

如果indent是一个非负整数,那么JSON数组元素和对象成员将使用该缩进级别进行漂亮打印.缩进级别为0或负数只会插入换行符.无(默认值)选择最紧凑的表示.

此外,json.dump()如果您已有文件对象,则可以重写调用,

json.dump(data, out_file, indent=4)
Run Code Online (Sandbox Code Playgroud)