使用Python的struct包将二进制文件读入布尔数组

0 投票
2 回答
755 浏览
提问于 2025-04-17 12:02

我正在尝试将一个二进制文件(只有32位长)读入一个布尔数组。按照以下方法操作时,一切都很顺利:

使用Python,如何读取字节中的位?

但是,当我尝试使用struct包时,结果却不一样:

_fmt = '32?'

with open(filename, mode='rb') as fp:
    content = struct.unpack(fmt, fp.read(struct.calcsize(fmt))

我想了解这是为什么。

谢谢

2 个回答

0

你可以试试Bitarray,它可能对你有帮助:http://pypi.python.org/pypi/bitarray

或者看看这里的教程:http://wiki.python.org/moin/BitArrays

1

格式 '32?' 表示的是32个字节,而不是32位。

撰写回答