Найти - Пользователи
Полная версия: Удаление строк из файла
Начало » Python для новичков » Удаление строк из файла
1
nikk
Добрый день.
Нужно удалять произвольную строку из файла. Из текстового, как я понял, не получится, а если сделать двоичный файл, можно в нём удалить данные в определённой позиции?

Скопировать в память, удалить, записать в новый файл не предлагать. Файл - словарь, около 100 тыс. слов. И удаления нужно проводить часто, на разных итерациях. проще убиться об стену, чем постоянно копировать.

заранее спасибо.
cutwater
Может быть имеет смысл загрузить словарь в память, его обработать и потом сохранить? Зачем каждый раз перезаписывать файл при удалении строки?

Может быть имеет смысл использовать базы данных? SQLite или key-value базы данны

100 тыс. слов это не такой уже и большой словарь.
nikk
Вопрос в том, сколько этот словарь сожрёт памяти, будучи в неё загруженным? Проверю, посмотрим, что получится.
nikk
Проверил. оказывается, не так и много памяти съедается, порядка 11 мешков. Тогда вопрос упрощается:
как удалить элемент с заданным номером из списка? Есть что-нибудь вроде spisok.delete(n)?
grok
Может так:
l = ['a', 'q', 123, 'o', ['23', 4, 'k']]
del l[2]
print l
Результат:
['a', 'q', 'o', ['23', 4, 'k']]
shupg
вопрос в трудоемкости данной операции для питона. O(n) устраивает автора?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB