当使用 python struct 模块时,可以指定声明二进制数据应如何解释的格式字符串:
>>> from struct import *
>>> fmt = 'hhl'
>>> values = [1,2,3]
>>> blob = pack(fmt, values)
很容易计算出存储该格式实例所需的字节数:
>>> calcsize(fmt)
检索“填充”格式所需的变量数量的最佳方法是什么?基本上这会提前告诉“值”数组应该有多大来执行上面示例中的 pack()。
>>> calcentries(fmt)
3
有这样的事情吗?
最佳答案
struct
API 中恐怕没有这样的函数,但是你可以自己定义它而不用解析格式字符串:
def calcentries(fmt):
return len(struct.unpack(fmt, '\0' * struct.calcsize(fmt)))
关于python - 确定 python struct/pack fmt 字符串中的元素数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289069/