Python 3.14+osфункция
os.readinto()
os — файловые дескрипторы
Читает данные из файлового дескриптора в уже готовый изменяемый буфер (bytearray/memoryview) и возвращает число прочитанных байт, не создавая новый bytes. Python 3.14+.
Синтаксис
os.readinto(fd, buffer, /)
Пишет данные прямо в переданный bytearray или memoryview и возвращает число прочитанных байт — без создания нового объекта bytes на каждое чтение. Это экономит память и время в циклах чтения больших потоков, особенно со срезом memoryview на свободную часть буфера. Как и os.read, может прочитать меньше места в буфере; 0 — конец файла.
Примеры
import os
r, w = os.pipe()
os.write(w, b'hello world')
buf = bytearray(5)
print(os.readinto(r, buf)) # → 5 (сколько байт реально прочитано)
print(bytes(buf)) # → b'hello'
print(os.readinto(r, bytearray(0))) # → 0 (буфер нулевой длины)
os.close(r); os.close(w)
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности