I realize that I forgot to post the sample code:). Below is my implementation:
#DSL data #123456789012345678901234567890123456789012345678901234567890, dsldata=( 'SVCLFOWLER 10101MS0120050313.........................', 'SVCLHOHPE 10201DX0320050315........................', 'SVCLTWO x10301MRP220050329..............................', 'USGE10301TWO x50214..7050329...............................') #Class mappings Mappings={'svcl':{ (4,18):'CustomerName', (19,23):'CustomerID', (24,27) :'CallTypeCode', (28,35) : 'DateOfCallString'}, 'usge':{(4,8) :'CustomerID', (9,22):'CustomerName', (30,30):'Cycle', (31,36): 'ReadDate'}} def generateClass(data): 'generate the class and instance with attributes' className = data[:4].lower() #1) mappingData= Mappings[className] #2) class Klass:pass #3) Klass. __name__=className #4) # print Klass for key in mappingData.keys(): #5) fielddata=data[key[0]:key[1]] print 'actual data->',fielddata setattr(Klass,mappingData[key],fielddata) #6) return Klass def parseData(): 'parse the data and generate a list of objects' classes= [generateClass(item) for item in dsldata] return classes def printKlassData(Klass): print Klass for key in Klass.__dict__: print ('attr->%s value->%s')%(key,Klass.__dict__[key]) if __name__=='__main__': for Klass in parseData(): printKlassData (Klass) -- http://mail.python.org/mailman/listinfo/python-list