理解 struct.unpack python

Understanding struct.unpack python

test = struct.unpack('>%dH' % 1, '\x00\x44') 

让我很困惑。我认为这意味着取前 8 个字节并将它们视为 double,然后取下两个字节并将它们视为 short,一次完成所有操作。但这意味着别的东西,我不知道是什么。它似乎意识到没有双重存在并将这两个字节转换为一个数字。

此代码

test = struct.unpack('>1dH' , '\x00\x44')

抛出错误,因为它期望找到一个双...

谁能告诉我这两者有什么区别?

谢谢

'>%dH' % 1 等价于 '>1H'

>>> '>%dH' % 1
'>1H'

'>%dH' % 1 正在使用 old-style string formatting%d 替换为 1

因此结构格式指定了一个大端双字节无符号短整型。