Python JSON转储/附加到.txt与新行上的每个variables

我的代码创build一个字典,然后存储在一个variables。 我想将每个字典写入JSON文件,但是我希望每个字典都在一个新的行上。

我的词典:

hostDict = {"key1": "val1", "key2": "val2", "key3": {"sub_key1": "sub_val2", "sub_key2": "sub_val2", "sub_key3": "sub_val3"}, "key4": "val4"} 

我的部分代码:

 g = open('data.txt', 'a') with g as outfile: json.dump(hostDict, outfile) 

这将每个字典附加到'data.txt',但它是这样内联的。 我希望每个字典条目都在新的行中。 任何意见,将不胜感激。

你的问题有点不清楚。 如果你在循环中生成hostDict

 with open('data.txt', 'a') as outfile: for hostDict in ....: json.dump(hostDict, outfile) outfile.write('\n') 

如果你的意思是你想让hostDict每个variables都在一行中:

 with open('data.txt', 'a') as outfile: json.dump(hostDict, outfile, indent=2) 

当设置indent关键字参数时,它会自动添加换行符。