> I have a file which contains data in the format shown in the sample > bellow. > How can I parse it to get following: > (14,trigger,guard,do_action,15) > > Thanks a lot for your postings > Petr Jakes > > type: > 4 > bgrColor: > 255 255 255 > fgrColor: > 0 0 0 > objId: > 16 > Num.Pts: > 2 > 177 104 > 350 134 > objStartId: > 14 > objEndId: > 15 > eventName: > trigger > eventCond: > guard > eventAction: > do_action > > >
Create a dictionary mapping the properties to their values, then print out the ones you require: fid = open('xxx', 'r') lines = fid.readlines() fid.close() i = 0 items = {} for line in lines: line = line.strip() if line[-1] == ':': line = line.split(':')[0] items[line] = lines[i+1].strip() i = i + 1 outString = '(' + items.get('objStartId') + ',' + items.get('eventName') + ',' + items.get('eventCond') + ',' + items.get('eventAction') + ',' + items.get('objEndId') + ')\n' print outString This code yields the following output: (14,trigger,guard,do_action,15) Regards, John McMonagle -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- http://mail.python.org/mailman/listinfo/python-list