Как я могу создать объект BufferedReader из стандартного файлового объекта, например sys.stdin или что вы получаете из 'open'?
(Справочная информация: Мне нужен метод peek(), с которым стандартные объекты файлов не работают. Любые предложения для решения этой проблемы также приветствуются.)
У меня бы ожидалось, что это сработает, но это не так:
>>> import sys
>>> import io
>>> io.BufferedReader(sys.stdin)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'file' object has no attribute 'readable'
(Это Python 2.7)
Да, получилось, по крайней мере, для всего, что имеет файловый дескриптор.
stream = sys.stdin, or open(...), etc.
reader = io.open(stream.fileno(), mode='rb', closefd=False)