我的代码创建了一个字典,然后将其存储在变量中。
我想将每个字典写入一个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中的每个变量都换行:
with open('data.txt', 'a') as outfile:
    json.dump(hostDict, outfile, indent=2)

设置了indent关键字参数后,它将自动添加换行符。

10-08 00:02