How to read in only every second line of file?

file, iterator, python

Solution

Using `itertools.islice`:

import itertools

with open(pth_file) as f:
    for line in itertools.islice(f, 1, None, 2):
        # 1: from the second line ([1])
        # None: to the end
        # 2: step

        # Do something with the line

Problem

I need to read in only every second line of a file (which is very big) so I don't want to use `readlines()`. I'm unsure how to implement the iterator so any suggestions are welcome. One possibility is to call next() twice. Not very appealing. ``` with open(pth_file, 'rw') as pth: pth.next() for i,row in enumerate(pth): # do stuff with row pth.next() ``` Or creating my own iterator like ``` for i, row in enumerate(pth): if i... ```

Original source