22
如何從標準文件對象中創建BufferedReader對象,如sys.stdin或從'open'中獲得的內容?在Python2中從sys.stdin製作io.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'
(這是Python 2.7版)
哈,知道了,至少對於任何有文件描述符。
stream = sys.stdin, or open(...), etc.
reader = io.open(stream.fileno(), mode='rb', closefd=False)
什麼是peek()'方法?你想要什麼,確切地說? – zeekay 2011-05-19 21:58:04
peek()返回流中的下一個項目,而不從流中移除它。我正在編寫一個解析器並希望向前看。 – EvanED 2011-05-19 22:34:51
你使用哪些輸入源沒有文件描述符? – mxsscott 2012-11-18 19:11:04