31 May
2006
31 May
'06
3:31 p.m.
I'm afraid a sabbatical year isn't long enough to understand what the struct module did or intends to do by way of range checking <0.7 wink>. Is this intended? This is on a 32-bit Windows box with current trunk:
from struct import pack as p p("I", 2**32 + 2343) C:\Code\python\lib\struct.py:63: DeprecationWarning: 'I' format requires 0 <= number <= 4294967295 return o.pack(*args) '\x00\x00\x00\x00'
The warning makes sense, but the result doesn't make sense to me. In Python 2.4.3, that example raised OverflowError, which seems better than throwing away all the bits without an exception.