Python Glossary English

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