Python 3 - " file.read(x)"读取x个字符,而不是字节

时间:2018-03-31 23:10:46

标签: python python-3.x file-io utf-8

根据文档(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中,一切似乎都没问题。 所以问题是 - 这是一个错误,还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

这应该有效

with open("myfile", "rb") as f:
    byte = f.read(1)
    while byte != b"":
        byte = f.read(1)