Когда сбросить BufferedWriter

obj = TeachersPlanner.objects.filter(date__startswith=date.today())
42
задан Peter Mortensen 8 February 2018 в 18:42
поделиться

2 ответа

BufferedWriter уже будет сброшен, когда он заполнит свой буфер. Из документации BufferedWriter.write :

Обычно этот метод сохраняет символы из данного массива в буфере этого потока, очистка буфера до нижележащего потока по мере необходимости .

(выделено мной.)

Смысл BufferedWriter в основном состоит в том, чтобы объединить много небольших записей в гораздо меньшее количество больших записей , поскольку это обычно более эффективно (но кодировать для него больше проблем). Однако вам не нужно делать ничего особенного, чтобы он работал должным образом, кроме как убедиться, что вы его промыли, когда закончите с ним - и вызов close () будет сделайте это и все равно очистите / закройте основной писатель.

Другими словами, расслабьтесь - просто напишите, напишите, напишите и закройте :) Обычно вам нужно вызвать flush вручную только в том случае, если вам действительно, действительно нужно, чтобы данные были на диске сейчас. (Например, если у вас есть постоянный регистратор,

85
ответ дан 26 November 2019 в 23:33
поделиться

Идеальный момент очистки - это когда вам нужна другая программа, читающая файл, чтобы увидеть записанные данные, прежде чем файл будет закрыт. Во многих случаях этого никогда не происходит.

11
ответ дан 26 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: