Python JSON дамп / добавляет к .txt с каждой переменной на новой строке

Мой код создает словарь, который затем сохраняется в переменной. Я хочу записать каждый словарь в файл 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, но он делает это inline. Я хочу, чтобы каждая запись словаря находилась на новой строке. Любой совет будет принят во внимание.

  • Как найти суммарную сумму чисел в списке?
  • Прочитайте все содержимое ini-файла в словаре с помощью Python
  • python 2.7 эквивалент встроенного метода int.from_bytes
  • Ошибка вкладки в Python
  • Укажите конкретные тестовые теги в тестовом модуле python TestLoader
  • Условное присвоение тензорных значений в TensorFlow
  • как конвертировать ежемесячные данные в квартал в пандах
  • Как найти первый индекс любого из набора символов в строке
  • One Solution collect form web for “Python JSON дамп / добавляет к .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 он автоматически добавляет новые строки.

    Python - лучший язык программирования в мире.