例如,我正在尝试按如下方式读取文件
fd = open('mydb.dbf', 'rb')
print(fd.read(1))
输出结果为:
B '\ X03'
我只希望'\ x03'。额外角色来自哪里?
答案 0 :(得分:6)
没有额外的角色。您有一个bytes
对象,其内容是单个字节\x03
。
print
函数打印任何对象的str
表示。 bytes
对象打印为b'\x03'
。但是b
不再是引用值的一部分(或者,就此而言,反斜杠,x或两位数)。
要说服自己,请尝试print(len(my_bytes))
或print(my_bytes[0])
。长度为1
;第一个值是(字节)数字3
。
(如果你不想要一个bytes
对象,你不应该以二进制模式打开文件。但是,考虑到第一个字符是一个控件-C,你可能做了< / em>想要一个bytes
对象。)