Быстрая запись данных в файл на python
Всем привет! Подскажите пожалуйста, есть ли быстрый способ записать 250 000 или более строк в файл txt? Мой скрипт на python генерирует 65000 строк за 0.4сек, но если я буду построчно записывать их в файл, весь процесс занимает уже 20сек. Что можете посоветовать?
Ответы (3 шт):
За это придется заплатить памятью. Соберите одну строку с помощью join и переносов, запишите ее одну в файл
Упорядочу, что могу посоветовать:
Задача относительно стандартная. Лучше всего поискать конкретные алгоритмы действий в интернете.
При действиях самостоятельных (без поиска) я бы:
- Решил, что является ключевыми требованиями и каковы их приоритеты относительно друг друга?
Я вижу в порядке приоритета:
a) Быстродействие;
б) Надежность хранения на случай сбоя по питанию;
в) Стоимость.
- Настроил запись на окончательный вывод на наиболее быстрый носитель (например, SDD, а не HDD).
- Временно писал бы в ОЗУ сколько влезет, а потом сохранял бы на более медленный постоянный носитель (SSD). Конкретный метод записи в ОЗУ, объем и т.д. проверял натурными экспериментами (т.е. просто пробовал бы варианты. "Лучшая модель кошки- кошка".)
Всем привет! Как обычно бывает, если долго мучиться- что-то да получится. Пришёл к решению, что совершать запись огромного количества строк в моём случае не обязательно и гораздо быстрее обрабатывать полученные строки на лету. Таким образом если на момент создания темы, за 12 часов я получал ~30млн строк для последующей обработки, то сейчас обходя стороной процессы записи-чтения я получаю и сразу одрабатываю ~150млн.Длинна строки фиксированная и состоит из 70 символов.