все Python 3ioпонятие
io.FileIO
бинарные потоки
Сырой (небуферизованный) бинарный поток к файлу по имени или дескриптору; низкоуровневая основа, поверх которой open() строит буферизацию.
Синтаксис
io.FileIO(name, mode='r')
Напрямую его создают редко: open(path, 'rb', buffering=0) возвращает ровно FileIO, а обычный open() надстраивает над ним буфер и текстовую обёртку. Главная ловушка сырого потока — read(n) делает один системный вызов и вправе вернуть меньше n байт задолго до конца файла, поэтому читают либо readall(), либо циклом до пустого результата.
Примеры
import io
import os
print(issubclass(io.FileIO, io.RawIOBase)) # → True
f = io.FileIO(os.devnull, 'r')
print(f.mode) # → rb
print(f.readable(), f.writable()) # → True False
print(f.read()) # → b''
f.close()
print(f.closed) # → True
b = open(os.devnull, 'rb')
print(type(b.raw).__name__) # → FileIO
b.close()
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности