On Nov 18, 4:42 pm, Ulrich Eckhardt <dooms...@knuut.de> wrote: > Hia! > > I need to read a file containing packed "binary" data. For that, I find the > struct module pretty convenient. What I always need to do is reading a chunk > of data from the file (either using calcsize() or a struct.Struct instance) > and then parsing it with unpack(). For that, I repeatedly write utility > functions that help me do just that, but I can't imagine that there is no > better way for that. > > Questions: > 0. Am I approaching this from the wrong direction? I'm not a programming > noob, but rather new to Python still. > 1. The struct module has pack_into() or unpack_from(), could I somehow > combine that with a file? > 2. Is there some easier way to read files? I know about array and xdrlib, > but neither really fit my desires. > 3. Failing all that, would you consider this a useful addition to the struct > module, i.e. should I write a feature request? > > Thanks! > > Uli
First time I've seen zero based indexing for paragraph markers :) unpack_from() will work on anything that supports the buffer interface. To work with files you can use something like: my4chars = struct.Struct('4c') def struct_read(s, f): return s.unpack_from(f.read(s.size)) Which isn't hideously painful. Jon. -- http://mail.python.org/mailman/listinfo/python-list