ikysu, data.split('\n') возвращает массив из всех строк в файле, соответственно data.split('\n').length — количество этих строк. Не может там быть нескольких чисел.
ikysu, видимо у вас этот код выполняется несколько раз, к тому же каждый раз вы добавляете новую строку в файл, поэтому каждый новый результат на единицу больше предыдущего.