On Dec 16, 2007 10:17 PM, jon vs. python <[EMAIL PROTECTED]> wrote: > Hi everyone, > I have a file with this content: > > "1 > 1 > 1 > 1 > 1 > 1 > 1 > 2 > 1 > 1" > > I wanted a little script that would print the line containing "2" and every > line containing "1" after it. I've tried this: > > >>> def p(): > f = file("prueba.txt",'r') > for startline in f.read(): > if startline.find("2") != -1: > print startline > for endline in f.read(): > if endline.find("1") != -1: > print endline > break > f.close() > > > >>> p() > 2 > > I found a way for doing it. > > But still I don't really understand why I don't get two "1" lines printed. > It seems that every line is read in "for startline f.read()" so "for endline > in f.read()" will start reading but find no data, am I right? > > Thanks, Jon. >
Try something like: show_ones = False for line in f.read(): if line.find(2) != -1 or show_ones == True: print line show_ones = True _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor