Словарь представляет собой txt файл где каждая фраза с новой строки

Обновлено: 05.11.2024

Каким образом его правильнее записать в текстовый файл, чтобы получилось что-то такое:

То есть каждая пара ключ: значение словаря должна записываться на новой строке, а между каждым словарем должна стоять пустая строка. Пока что я записываю вот так:

Но я не знаю, насколько это эффективно, плюс в начале и в конце файла у меня образуются пустые строки, которые мне приходится обрезать. Заранее спасибо за помощь.

Зеленый задан 10 авг '17 в 9:18 Зеленый Зеленый 23 4 4 бронзовых знака

Вот вариант очень похожий на ваше решение:

ну и запись в файл:

Если есть сомнения, что txt поместится в памяти, то лучше писать в файл по одному элементу.

ответ дан 10 авг '17 в 9:28


137k 10 10 золотых знаков 45 45 серебряных знаков 114 114 бронзовых знаков

Ваше решение достаточно эффективно: при вводе-выводе производительность больше зависит не от кода, а от скорости внешнего устройства.

Чтобы не образовывались пустые строки в начале, делайте перенос строки не до вывода, а после:

Могу еще предложить использовать print вместо write , тогда перенос строки будет добавляться автоматически (опять же, в конце выводимой строки):

Если лишний перенос строки в конце файла очень мешает, то можно добавить проверку, что выводится последний словарь, и если это так, то не делать после него перевод строки:

Читайте также: