[求助]如何用struct模块的unpack函数读取一定数量的bit,

例如有一个二进制文件,其内部存储的数据的数据结构如下:
struct {
int num:4
int next:28
float howto
}
据我目前所了解的,unpack只能按照给定参数的模式读取,但是模式里面不包含读取一定的位数的数据阿

请大家赐教 ,thanks