我真的试着用很多方法来寻找这个疑问,但是也许因为我从来没有使用过二进制文件,所以我不知道用什么关键字来搜索相似的东西来帮助我。所以我才来问你。在
所以,我有一个文件:
path = 'myPath/file.pd0'
in_file = open(path, "rb")
read_file = in_file.read()
type(read_file)
当我试图检查read_文件中的内容时,我得到:
^{pr2}$read_文件的类型是字节。当我尝试使用struct时,因为它是人们建议的函数,我得到了以下错误:
import struct
struct.unpack('hhl', read_file[0:30])
error: unpack requires a buffer of 16 bytes
不管我得到什么fmt解包都需要一个n字节的缓冲区。在
我尝试读取的文件结构定义如下:
页眉 (6字节+[2 x数据类型数量])
固定引线数据 (60字节)
可变引线数据 (66字节)
相关幅度 (每个深度单元2个字节+4个字节)
你知道我如何开始使用struct或类似的python来读取这些字节吗?在
谢谢
unpack()
需要的字节数是其第一个参数所描述格式的确切长度。 格式字符串'hhl'
描述了16个字节的数据(在您的机器上,请参见下文),因此您必须传递一个16字节的字符串。 如果只想解析部分字节,可以执行以下操作:另外,格式字符串没有byte order, size and alignment specifier。默认情况下,它被假定为“本机”。这意味着您的代码依赖于系统,这可能不是解析文件格式所需要的。 文件的不同部分可能需要不同的对齐方式。在
相关问题 更多 >
编程相关推荐