Быстрая запись данных в файл на python

Всем привет! Подскажите пожалуйста, есть ли быстрый способ записать 250 000 или более строк в файл txt? Мой скрипт на python генерирует 65000 строк за 0.4сек, но если я буду построчно записывать их в файл, весь процесс занимает уже 20сек. Что можете посоветовать?


Ответы (3 шт):

Автор решения: milssky

За это придется заплатить памятью. Соберите одну строку с помощью join и переносов, запишите ее одну в файл

→ Ссылка
Автор решения: Сергей

Упорядочу, что могу посоветовать:

Задача относительно стандартная. Лучше всего поискать конкретные алгоритмы действий в интернете.
При действиях самостоятельных (без поиска) я бы:

  1. Решил, что является ключевыми требованиями и каковы их приоритеты относительно друг друга? Я вижу в порядке приоритета:
    a) Быстродействие;
    б) Надежность хранения на случай сбоя по питанию;
    в) Стоимость.
  1. Настроил запись на окончательный вывод на наиболее быстрый носитель (например, SDD, а не HDD).
  2. Временно писал бы в ОЗУ сколько влезет, а потом сохранял бы на более медленный постоянный носитель (SSD). Конкретный метод записи в ОЗУ, объем и т.д. проверял натурными экспериментами (т.е. просто пробовал бы варианты. "Лучшая модель кошки- кошка".)
→ Ссылка
Автор решения: Alexey B

Всем привет! Как обычно бывает, если долго мучиться- что-то да получится. Пришёл к решению, что совершать запись огромного количества строк в моём случае не обязательно и гораздо быстрее обрабатывать полученные строки на лету. Таким образом если на момент создания темы, за 12 часов я получал ~30млн строк для последующей обработки, то сейчас обходя стороной процессы записи-чтения я получаю и сразу одрабатываю ~150млн.Длинна строки фиксированная и состоит из 70 символов.

→ Ссылка