私のコードは辞書を作成し、それが変数に保存されます。各辞書を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
キーワード引数が設定されると、自動的に改行が追加されます。