In [1]:
n = 10**7
filename = 'bigdata'

In [2]:
import random

In [3]:
with open(filename, 'w') as f:
    for _ in range(n):
        print(random.randint(1, n), file=f)

In [4]:
def foo(filename):
    return [int(line.strip()) for line in open(filename)]

In [5]:
%timeit foo(filename)


1 loop, best of 3: 6.46 s per loop

In [6]:
a = foo(filename)
len(a), a[:3], a[-3:]


Out[6]:
(10000000, [2937736, 8865497, 9244595], [6419711, 7310417, 7464754])