在 Python 3 中使用 struct.calcsize() 和 len() 有区别吗?
Is there a difference between using struct.calcsize() and len() in Python 3?
使用 struct.calcsize()
是否总是与简单地使用 len()
获取结构中的字节数相同?
例如:
>>> import struct
>>> a = struct.pack('I', 107)
>>> len(a)
4
>>> struct.calcsize('I')
4
对于我的一小部分测试,他们似乎同意。有理由偏爱其中之一吗?互换使用它们是否安全?
struct.calcsize
不需要您实际打包数据。这样可以节省时间和内存,如果您实际上没有任何数据要打包,会更方便。
如果您有一个格式字符串,并且想知道以该格式 打包数据的结果 有多大,请使用 struct.calcsize
。如果您已经打包数据并且想知道它有多大,请使用 len
.
使用 struct.calcsize()
是否总是与简单地使用 len()
获取结构中的字节数相同?
例如:
>>> import struct
>>> a = struct.pack('I', 107)
>>> len(a)
4
>>> struct.calcsize('I')
4
对于我的一小部分测试,他们似乎同意。有理由偏爱其中之一吗?互换使用它们是否安全?
struct.calcsize
不需要您实际打包数据。这样可以节省时间和内存,如果您实际上没有任何数据要打包,会更方便。
如果您有一个格式字符串,并且想知道以该格式 打包数据的结果 有多大,请使用 struct.calcsize
。如果您已经打包数据并且想知道它有多大,请使用 len
.