Hi, If the file you are talking about is not too big...i mean has less than say 50,000 lines, then the simplest would be to do:
with open('fileName') as fin: lines = fin.readlines() printStuff = False for line in lines: if 'start_keyword' in line: printStuff = True print line elif 'stop_keyword' in line: print line break elif printStuff: print line Hope this helps, Vishal Sapre Thanks and best regards, Vishal Sapre --- "Life is 10% how you make it, and 90% how you take it" "बहुजन हिताय, बहुजन सुखाय (Benefit for most people, Happiness for most people.)" --- Please DONT print this email, unless you really need to. Save Energy & Paper. Save the Earth. On Thu, Jun 13, 2013 at 1:18 AM, davidsnt <david...@gmail.com> wrote: > Group, > > I need a little help in using the file seek and tell methods, I have a file > with n lines, in which I have to find out the line which starts from a > particular keyword and print all the lines until I find next matching > keyword. > > I did a work around using seek and tell, I used regex as well. I opened the > file, read line by line in a for loop, and checked each line for the > keyword used tell() to get the position and the seek() to move my cursor > and tried to print next lines until I get the next matching keyword but I > failed can you help me here. > > Example test file > > test.log > > Bangalore > Hyderabad > Chennai > Mumbai > Tennis > Cricket > Poker > Angry Birds > Cricket > Mumbai > Chennai > > > I want to read and print from Chennai to Angry Birds > > import sys,re > > f = open('test.log', 'r') > > for line in f: > match = re.search('^Chennai', line) > if(match): > f.seek(f.tell(), 0) > <I am missing out the logic from here> > > > Thanks, > David > _______________________________________________ > BangPypers mailing list > BangPypers@python.org > http://mail.python.org/mailman/listinfo/bangpypers > _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers