Search code examples
fileloopslines

How do I get python to read only every other line from a file that contains a poem


I know the code for reading every line is

f=open ('poem.txt','r')
for line in f: 
    print line 

how do you have python read only even-numbered lines from the original file. Assuming 1-based numbering of lines.


Solution

  • There are quite a few different ways, here a simple one

    with open('poem.txt', 'r') as f:
        count = 0
        for line in f:
            count+=1
            if count % 2 == 0: #this is the remainder operator
                print(line)
    

    This also might be a little nicer, saving the lines for declaring and incrementing the count:

    with open('poem.txt', 'r') as f:
        for count, line in enumerate(f, start=1):
            if count % 2 == 0:
                print(line)