В чем разница между file.write() и file.flush()?Python: file.write() versus file.flush()
От Python's official documentation, я получаю это:
флеш() Force байт провел в буфере в сырьевой поток. A BlockingIOError должен быть поднят, если блокируется необработанный поток.
напишите (b) Напишите байтоподобный объект, b и верните количество записанных байтов . Когда в неблокирующем режиме, BlockingIOError поднимается , если буфер нужно выписать, но необработанные потоки блокируются.
В лучшем случае, учитывая мое понимание новичков, они оба передают информацию, хранящуюся в памяти в файл на диск. Однако разница в том, что write() также возвращает информацию о том, сколько информации было сохранено, а flush() выполняет эту задачу немедленно. Это верно? В каких обстоятельствах было бы предпочтительнее применять write() для flush() и наоборот?
но 'flush' не принимает аргументов ... они совсем не то же самое. Документ, который вы скопировали, показывает аргумент для 'write' и none для' flush'. 'flush' заставляет данные, записанные с использованием' write', сбрасываться на носитель. –
Вы пытались использовать обе функции? Должно быть ясно, что они делают разные вещи. – mkrieger1
'write()' отправляет данные из вашей программы в подсистему ввода-вывода, где она может быть буферизована. 'flush()' сообщает подсистеме IO, что вы хотите зафиксировать любые данные, которые были буферизованы. –