This reads a list of points from a file with a certain format:<number of points>x1 y1x2 y2How I can make it better?from collections import namedtuplePoint = namedtuple('Point ', ['x', 'y'])def read():    ins = open(PATH_TO_FILE, r)    array = []    first = True    expected_length = 0    for line in ins:        if first:            expected_length = int(line.rstrip('\n'))            first = False        else:            parsed = line.rstrip('\n').split ()            array.append(Point(int(parsed[0]), int(parsed[1])))    if expected_length != len(array):        raise NameError(error on read)    return  array
Reading data from file
python;file
Another improvement is to use open as a context manager so that you don't have to remember to .close() the file object even if there are errors while reading.def read():    with open(FILE, r) as f:        array = []        expected_length = int(f.next())        for line in f:            parsed = map(int, line.split())            array.append(Point(*parsed))        if expected_length != len(array):            raise NameError('error on read')        return arraySee http://docs.python.org/2/library/stdtypes.html#file.close for more details.