array problems.. OverflowError

Chris Lambacher lambacck at gmail.com
Wed Jun 8 19:49:51 CEST 2005


You probably want to look at using struct.pack.  That will allow you
to back heterogenious groups of data into a string that can be saved
to disk or sent over the network.  It also does a really good job of
taking care of byte order for you(if you tell it to).

-Chris

On 8 Jun 2005 10:40:43 -0700, ashtonn at gmail.com <doodle4 at gmail.com> wrote:
> How do i fill 1 byte and 4 bytes in a single array? This array contains
> packet information.
> 
> Python code...
> 
> from array import *
> 
> size = 526
> pData = array("B", '\0'* 526)
> # Destination MAC address
> destAddress = FFFFFFFFFFFF
> for i in range(0, len(destAddress), 2):
>     pData[i/2] = int(destAddress[i:i+2], 16)
> 
> pattern = 0xAAAAAAAA
> for i in range(  512):
>     pData[i+6] = long(pattern, 16)
> print pData
> 
> OverflowError: long int too large to covert to int
> 
> def test(pData.buffer_info()[0])
>     ....
>     ....
> Any help appreciated.
> -Ashton
> 
> --
> http://mail.python.org/mailman/listinfo/python-list
> 


-- 
Christopher Lambacher
lambacck at computer.org



More information about the Python-list mailing list