speedy Python strings?
Jp Calderone
exarkun at intarweb.us
Mon Jan 19 23:29:24 EST 2004
On Mon, Jan 19, 2004 at 10:53:47PM -0500, Francis Avila wrote:
> Stuart D. Gathman wrote in message ...
> ># text = struct.unpack("L", self.buffer[:4])
> ># self.buffer = self.buffer[4:]
> > pos = self.pos
> > text = struct.unpack("L", self.buffer[pos:pos+4])
> > self.pos = pos + 4
>
>
> In this vein, I would also recommend looking at the array module. You
> didn't describe the data structure, but if each record is simply a list of
> 4-byte integers, you could convert the whole record to ints at once like so:
>
> record = array.array('L', stringorlist)
> Then, perform your loops on record, which will be a list-like object
> supporting item insertion and deletion, and conversion to bytestrings and
> other Python base types.
>
Also note the existence of fromfile() - the array module actually makes it
possible to do this incredibly efficiently:
a = array.array('L')
a.fromfile(openFileObj, count)
Jp
More information about the Python-list
mailing list