2015-04-08 2 views
2

Итак, у меня есть текстовый файл с идентификаторами, поэтому я не знаю, как это сделать. Каждой секунде кажется, что я добавляю еще 1000.Python Empty File Оставляя 10 000 строк

Я хочу очистить файл, сохранив последние 10 000 строк.

Я знаю, что могу полностью удалить файл с open(file, 'w').close(), но это не сработает.

Что я могу сделать? Я открыт для идей.

+0

В чем проблема с чтением в файле и писать обратно последние 10000 строк? –

ответ

0

Ваш вопрос на самом деле зависит от конкретной операционной системы или файловой системы.

Все файлы (на системах POSIX, таких как Linux и, возможно, также в Windows) могут быть усечены только в хвосте: уровень файловой системы вашей ОС не позволяет удалять байты спереди (или в середине) файл (рассматривается как последовательность байтов).

Итак, вам нужно скопировать N последних строк в другом месте (в другом временном файле), а затем переименовать этот временный файл соответствующим образом.

(кстати, мой ответ не Python конкретны. Это то же самое в C++ или Ocaml ...)

Смежные вопросы