使用 Python 的 struct.unpack 时是否可以跳过字节?

use*_*783 2 python struct unpack

可以使用 Python 的struct.unpack位图文件头中提取有用的值,如下所示:

magic, file_size, _, _, data_offset = struct.unpack('<2sLHHL', file_header)
assert magic == 'BM'
Run Code Online (Sandbox Code Playgroud)

有什么方法可以避免在_此处分配给(或另一个一次性变量)的需要?是否可以更改格式字符串以struct.unpack跳过两个未使用的H字段?

Tor*_*ein 6

是的,使用“x”代码跳过 1 个字节。(见这里:https : //docs.python.org/2/library/struct.html#format-characters

即,将格式代码中的“H”替换为“xx”。

  • 请注意,您可以使用 count 前缀来表示任意数量的字节,即 `4x` 将丢弃之前被 `HH` 捕获的 4 个字节 (4认同)