从文件开头的偏移量开始并解压缩4字节的字

2024-04-25 14:46:27 发布

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

对于Python,给定一个偏移量(比如250字节),我如何跳转到文件中的这个位置并存储一个32位的二进制值?在

我的问题是read()返回一个字符串,我不确定是否能够正确地前进到有效的偏移量。另外,尝试使用struct.unpack()它需要一个与指定格式相等的长度。如何根据指定格式的要求只获取紧随其后的数据?32位int的格式是什么? 例如,我写了一个字符串>;32个字符,并认为可以通过使用'<qqqq'获取最初的32位并将它们存储为一个32位int,这是不正确的,不用说。在


Tags: 文件数据字符串gtread字节格式二进制
1条回答
网友
1楼 · 发布于 2024-04-25 14:46:27
with open("input.bin","rb") as f:
    f.seek(250) #offset 
    print struct.unpack("<l",f.read(4)) #grabs one little endian 32 bit long 

如果你想要4,32位的整数,你会用

^{pr2}$

如果你只想获取下一个32位int

print struct.unpack_from("<l",f)[0]

相关问题 更多 >