如何从标准文件对象(如sys.stdin)或从"打开"获得的内容中创建BufferedReader对象?
(背景:我需要一个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'
Run Code Online (Sandbox Code Playgroud)
(这是Python 2.7)
哈,得到它,至少对于任何有文件描述符的东西.
stream = sys.stdin, or open(...), etc.
reader = io.open(stream.fileno(), mode='rb', closefd=False)
Run Code Online (Sandbox Code Playgroud)