例如,我正在尝试如下读取文件
fd = open('mydb.dbf', 'rb')
print(fd.read(1))
输出为:
b'\ x03'
我只希望输入'\ x03'。多余的字符从哪里来?
最佳答案
没有多余的字符。您有一个bytes
对象,其内容为单字节\x03
。print
函数打印任何对象的str
表示形式。 bytes
对象打印为b'\x03'
。但是b
的值不超过引号的部分(或者,反斜杠,x或两位数字)。
要使自己相信这一事实,请尝试print(len(my_bytes))
或print(my_bytes[0])
。长度是1
;第一个值是(字节)数字3
。
(如果您不想使用bytes
对象,则不应该以二进制模式打开文件。但是,考虑到第一个字符是Control-C,您可能确实希望使用bytes
对象。)
关于python - 在Python3中,当我读取二进制文件时,为什么'b'会放在内容之前?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15845074/