如何查看 Python 3 文件中的下一个字符?
How can I peek at the next character in a file in Python 3?
假设我正在构建一个解析器,并且我想在流中向前看。
在Python2中,我可以写:
def peek():
next = inputfile.read(1)
inputfile.seek(-1,1)
return next
然而,在 Python 3 中,相对查找被禁用。
相反,您可以使用 inputfile.peek(1)[:1]
。
这在文本模式下不起作用,但在二进制模式下有效:
>>> open('test', 'rb').peek(1)
b'test\n'
file.read(1)
file.seek(file.tell()-1)
假设我正在构建一个解析器,并且我想在流中向前看。
在Python2中,我可以写:
def peek():
next = inputfile.read(1)
inputfile.seek(-1,1)
return next
然而,在 Python 3 中,相对查找被禁用。
相反,您可以使用 inputfile.peek(1)[:1]
。
这在文本模式下不起作用,但在二进制模式下有效:
>>> open('test', 'rb').peek(1)
b'test\n'
file.read(1)
file.seek(file.tell()-1)