Задать вопрос
@seropaski

Как организовать построчное чтение из файла с последующим удалением строки в Python?

Есть файл с текстовой информацией. Например:
string_0
string_1
string_2


Как можно организовать построчное чтение из файла с последующим удалением взятой строки?

Например, берем первую строку (string_0), присваиваем значение строки какой-то переменной, удаляем взятую строку из файла. В файле остается только
string 1
string 2


Код на Python, которые организует построчное чтение из файла, но не удаляет взятые строки.
with open("file") as lines:
    for line in lines:
        # something do
        # delete line from file
  • Вопрос задан
  • 2324 просмотра
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
atomheart
@atomheart
Пишу на Python за карму и за деньги
Используйте SQLite для этих целей. Создаете в нем табличку с одной колонкой и далее делаете с ней что хотите.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Не могу даже сказать, возможно ли это каким-либо извращением сделать, поскольку никогда не пытался. Такой подход в любом случае является плохим тоном. Нужно читать из одного файла, обрабатывать, и писать результат в другой файл.
Ответ написан
gubin_niko
@gubin_niko
1. Открываем в цикле файл
2. Берём первую строчку (если нет её, то останавливаемся), обрабатываем
3. Удаляем первую строчку
4. Закрываем файл
5. Идём к первому пункту

Извращение ли это? Скорее всего да, но Вы же просили выход...)
Ответ написан
qlkvg
@qlkvg
python backend developer
import fileinput

counter = 0
for line in fileinput.input("file.txt", inplace=True):
    old_line = line.rstrip()
    if not counter == 0:
        print old_line
    counter += 1
Ответ написан
Комментировать
@MechanicZelenyy
Никак. Есть такая фишка, что нельзя удалить информацию из файла. Можно перезаписать место в файле (для вашего случаю заменить вашу строку пустыми символами), можно добавить информации в конец (опять же нельзя добавить информацию в начало или середину).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы