import struct def st_pad(st:struct.Struct, multiple:int=1) -> struct.Struct: factor, rest = divmod(st.size, multiple) if rest: factor += 1 padding = factor * multiple - st.size if padding: print("return with padding") return struct.Struct(st.format + f"{padding}x") print("return original") return st ST_STATE = st_pad(struct.Struct("<4b4i8f"), 16)