python'rb'mode read()与read(1);返回值的类型

2024-10-06 12:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里阅读了许多相关的线程,并深入研究了doc(python3.6),但没有找到发生这种情况的原因(从pythonshell获取):

with open('default_SysEx.syx', 'rb')
 as f:
    x = f.read(1)

x

b'\xf0'

with open('default_SysEx.syx', 'rb') as f:
    y=f.read()

y[0]

240

type(x)
<class 'bytes'>

type(y[0])
<class 'int'>

如何解释单个读取字节?是read()还是列表?序列/iterable/generator/yield/。。。?在


Tags: defaultreaddocastypewith情况原因
1条回答
网友
1楼 · 发布于 2024-10-06 12:17:25

你的线索就是印刷品的类型。当x和y都是bytes对象时,您正在打印“整个”一个字符串x,而您用y[0]打印它的一个字节。在

您可能会发现x[0]的值类似于240。在

换句话说,type('\xf0')bytes,但是{}是{}。在

相关问题 更多 >