import itertools fname = 'log.txt' offset = 5 n = 10 with open(fname) as f: n_last_lines = list(reversed([x for x in itertools.islice(f, None)][-(offset+1):-(offset+n+1):-1]))