Найти - Пользователи
Полная версия: Запись длинных текстовых файлов
Начало » Python для новичков » Запись длинных текстовых файлов
1
R_e_n
Здравствуйте, столкнулся с такой проблемой:
функция в цикле записывает текст в файл
with open(file_name, 'w') as file: 
     while ... :
         text = ...
         file.write(text)

Если цикл длинный и текст большой, то компьютер через некоторое время зависает. Как можно избежать этого?
while ... :
     with open(file_name, 'a') as file: 
         text = ...
         file.write(text)
Программа работает, все нормально. Но мне не нравится это. Может есть какой-то другой способ? Я думаю есть какая переменная типа “очистка временного буффера”
Shaman
Зависает компьютер, или скрипт до окончания записи?
R_e_n
Сейчас точно не помню, писал не сегодня, а сегодня увидел и решил исправить. Сейчас запустил, жду. По-моему компьютер начинает сильно тормозить.

Кажется нашел, функция flush(). Как только сформулировал “очистить буфер” сразу и нашлось. Извиняюсь, за беспокойство
vanvanov
  1. Вместо того, чтобы делать запись в файл внутри цикла, попробуйте сначала нужным образом обработать содержимое файла в памяти, и только потом записать его за один раз.
  • Если у вас Windows, то антивирус может серьезно замедлить файловые операции, вплоть до выпадения в осадок BSOD.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB