John wrote: > f2=file(infile,'rb') > > Dfmt=['3i','13s','7i','2f','2i','2f','2i','i'] #format for binary > reading first bits > > if f2: > print infile + ' has been opened' > #for ft in Dfmt: > # print ft > a=(struct.unpack(ft,f2.read(struct.calcsize(ft))) for ft in Dfmt) > for ln in a: print ln
however, how can I now assign variables based on the 'generator object' > a? What exactly is this? a is a generator which is an iterable object. Access to its values is through the iterator protocol such as the for loop you use. > My question is, how can I now work with 'a' so that i can use the values? Use a list comprehension instead of a generator expression: a=[struct.unpack(ft,f2.read(struct.calcsize(ft))) for ft in Dfmt] This creates a list instead of a generator object. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor