根据文档(https://docs.python.org/3/library/io.html?highlight=io#io.RawIOBase.read),file.read(x)
应该从文件中返回x个字节。
然而,当我在UTF-8文本文件上调用file.read(1)
时,它会返回unicode符号(包括那些占用2-4个字节的符号)。
然而,在Python 2.7中,一切似乎都没问题。 所以问题是 - 这是一个错误,还是我错过了什么?
答案 0 :(得分:1)
这应该有效
with open("myfile", "rb") as f:
byte = f.read(1)
while byte != b"":
byte = f.read(1)