在Json中将多个变量转储到磁盘。每行一个变量

时间:2012-12-05 17:24:04

标签: python json

说我想用Json将多个变量转储到磁盘上。我通常这样做的方法是将我的变量创建为字典中的条目,然后将字典转储到磁盘:

with open(p_out, 'wb') as fp:
    json.dump(my_dictionary, fp)

这将创建一个json文件,其中字典以长行保存:

{"variable_1": something, "variable_2" something_else, ...}

我不喜欢。我更愿意将我的变量转储到文本文件中,每行一个变量,例如:

{variable_1: something\n
 variable_2: something\n
 variable_3: something_else}

有没有办法在Python中用Json做到这一点?

1 个答案:

答案 0 :(得分:3)

indent选项设置为0或更多:

with open(p_out, 'wb') as fp:
    json.dump(my_dictionary, fp, indent=0)

来自documentation

  

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

您的示例将输出为:

{
"variable_2": "something_else", 
"variable_1": "something"
}