harirammano...@gmail.com writes: > On Monday, April 18, 2016 at 12:38:03 PM UTC+5:30, > hariram...@gmail.com wrote: >> HI All, >> >> can you help me out in doing below. >> >> file: >> <start> >> guava >> fruit >> <end> >> <start> >> mango >> fruit >> <end> >> <start> >> orange >> fruit >> <end> >> >> need to delete from start to end if it contains mango in a file... >> >> output should be: >> >> <start> >> guava >> fruit >> <end> >> <start> >> orange >> fruit >> <end> >> >> Thank you > > any one can guide me ? why xml tree parsing is not working if i have > root.tag and root.attrib as mentioned in earlier post...
Assuming the real consists of lines between a start marker and end marker, a winning plan is to collect a group of lines, deal with it, and move on. The following code implements something close to the plan. You need to adapt it a bit to have your own source of lines and to restore the end marker in the output and to account for your real use case and for differences in taste and judgment. - The plan is as described above, but there are many ways to implement it. from io import StringIO text = '''\ <start> guava fruit <end> <start> mango fruit <end> <start> orange fruit <end> ''' def records(source): current = [] for line in source: if line.startswith('<end>'): yield current current = [] else: current.append(line) def hasmango(record): return any('mango' in it for it in record) for record in records(StringIO(text)): hasmango(record) or print(*record) -- https://mail.python.org/mailman/listinfo/python-list