Из заголовка и вопроса не очевидно, хотите ли вы сохранить файл, загрузить из файла или и то и другое, поэтому я рассмотрю оба случая:
Чтение
Если все в порядке, чтобы загрузить все это в память сразу (в Python):
list(reversed(list(open('foo.txt'))))
В противном случае, это становится намного сложнее. Обработка файла в обратном направлении требует, чтобы вы считывали блоки данных время от конца, сканировали в обратном направлении через каждый блок для поиска маркера новой строки и склеивали вещи обратно на границах блоков.
Пишущий
Если все данные помещаются в памяти одновременно, поместите числа в список (на Python):
open('foo.txt', 'w').writelines(reversed(data))
Если data
является итеративным, замените его на list(data)
.
Если данные не помещаются в память (например, у вас есть какой-то генератор, который выплевывает тонну данных), проблема будет намного сложнее. Самое простое решение, которое приходит на ум, - просто поместить данные в базу данных sqlite, а затем скопировать их в файл. Или вам может быть проще использовать данные непосредственно из sqlite.