Jacob Rael schrieb: > I am new to python and I love it. I am hacking a file. I want to not > print a line if it contains the word 'pmos4_highv'. I also don't want > to print the next line. The following code works but it "smells bad" > and just doesn't look right. I was reading about generators. If I was > using one, I could do a .next() after the match and get rid of the > flags. Any suggestions how I can improve this?
A generator certainly would be handy: def read_lines(inFile): fg = iter(inFile) for line in fg: if "pmos4_highv" in line: fg.next() else: yield line lines = """a b c d pmos4_highv no no! e f g""".split("\n") for line in read_lines(lines): print line Diez -- http://mail.python.org/mailman/listinfo/python-list