On Thursday, April 21, 2016 at 7:03:00 PM UTC+5:30, Jussi Piitulainen wrote: > 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)
Hi, not working....this is the output i am getting... \ <start> guava fruit <start> orange fruit -- https://mail.python.org/mailman/listinfo/python-list