nikhil Pandey wrote: > hi, > I want to iterate over the lines of a file and when i find certain lines, > i need another loop starting from the next of that "CERTAIN" line till a > few (say 20) lines later. so, basically i need two pointers to lines (one > for outer loop(for each line in file)) and one for inner loop. How can i > do that in python? please help. I am stuck up on this.
Here's an example that prints the three lines following a line containing a '*': Example data: $ cat tmp.txt alpha *beta *gamma delta epsilon zeta *eta The python script: $ cat tmp.py from itertools import islice, tee with open("tmp.txt") as f: while True: for outer in f: print outer, if "*" in outer: f, g = tee(f) for inner in islice(g, 3): print " ", inner, break else: break The script's output: $ python tmp.py alpha *beta *gamma delta epsilon *gamma delta epsilon zeta delta epsilon zeta *eta $ As you can see the general logic is relatively complex; it is likely that we can come up with a simpler solution if you describe your actual requirement in more detail. -- https://mail.python.org/mailman/listinfo/python-list