2024-10-02 08:23:29 发布
网友
我有while循环来获取数据包
unpackedData = struct.unpack("!BBHHHBBH4s4sHH4s4s4sHH4s", data[:44])
此行引发异常
Unpack requires a string argument of length 44 python
但在使用调试器之后,我注意到它会在几个循环之后发生,我想这是因为缓存已被填满。在
有没有办法清除python缓存或销毁对象之类的东西?在
我的最佳猜测是,在while循环中,每次都将data字符串缩短44个字符,但是,44不能平均地分割原始字符串,因此在最后一次迭代中,只剩下一段长度小于44个字符的字符串。在
data
python并不抱怨切片,它只返回一个比您预期的要小的字符串。e、 g.:
print len("foo"[:500]) #3 print "foo"[:500] #foo
我的最佳猜测是,在while循环中,每次都将
data
字符串缩短44个字符,但是,44不能平均地分割原始字符串,因此在最后一次迭代中,只剩下一段长度小于44个字符的字符串。在python并不抱怨切片,它只返回一个比您预期的要小的字符串。e、 g.:
相关问题 更多 >
编程相关推荐