0

假设我想使用 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 来做到这一点?

4

1 回答 1

3

indent选项设置为0或更多:

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

文档中:

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

您的示例将输出为:

{
"variable_2": "something_else", 
"variable_1": "something"
}
于 2012-12-05T17:25:52.897 回答