Python Glossary English

все 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Сообщить о неточности