gpt4 book ai didi

python - 如何在Python中解压结构体?

转载 作者:行者123 更新时间:2023-12-01 04:44:03 25 4
gpt4 key购买 nike

我需要解压 .bin 文件。用于使文件打包数据的代码如下:

x = ''
x = x + struct.pack('q', random.randint(0, MAX_NUM))
x = x + struct.pack('q', random.randint(0, MAX_NUM))

当我执行 f.read(16) 时,其中 16 是我想要一次读取的数据的大小,并将其打印出来,我得到:

print out of .bin data

我知道“q”意味着数据被打包成很长的长度,并且我尝试使用struct.unpack()来尝试解包数据,但我可以似乎没有获得如何解压它的正确语法。

那么我该如何解压这些信息呢?

最佳答案

将两个随机数打包成字符串x:

In [6]: x = struct.pack('2q', random.randint(0, MAX_NUM), random.randint(0, MAX_NUM))

要从字符串中解压这些数字:

In [7]: struct.unpack('2q', x)
Out[7]: (806, 736)

保存和读取文件

即使我们将 x 保存在文件中,然后稍后再读取它,解包过程也是相同的:

In [8]: open('tmpfile', 'w').write(x)

In [9]: y = open('tmpfile', 'r').read()

In [10]: struct.unpack('2q', y)
Out[10]: (806, 736)

关于python - 如何在Python中解压结构体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29884377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com