все Python 3ioпонятие
io.BufferedRWPair
бинарные потоки
Буферизованный объект, объединяющий отдельный поток чтения и отдельный поток записи (например, для сокета или пары каналов).
Синтаксис
io.BufferedRWPair(reader, writer)
Класс имеет смысл только для по-настоящему раздельных каналов — сокет, пара пайпов; передавать один и тот же объект и как reader, и как writer нельзя, для двустороннего доступа к одному потоку есть BufferedRandom. Произвольный доступ здесь не поддерживается: seekable() возвращает False, а сам объект не синхронизирует обращения к нижележащим сырым потокам, так что в многопоточном коде на него полагаться не стоит.
Примеры
import io
p = io.BufferedRWPair(io.BytesIO(b'ab'), io.BytesIO())
print(p.read()) # → b'ab'
print(p.readable(), p.writable()) # → True True
print(p.seekable()) # → False
w = io.BytesIO()
q = io.BufferedRWPair(io.BytesIO(b'in'), w)
print(q.write(b'out')) # → 3
q.flush()
print(w.getvalue()) # → b'out'
print(q.read()) # → b'in'
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности