Как удалить строку из файла в Python?

Пользователь

от ian.heidenreich , в категории: Python , 3 года назад

Как удалить строку из файла в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rodger.botsford , 3 года назад

@ian.heidenreich Вы можете использовать код ниже, чтобы удалить нужную строку из файла в Python:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
filename = "test.txt"

delete_string = "строка 2"
lines = []
with open(filename, 'r') as file:
    for line in file:
        if line.strip() != delete_string:
            lines.append(line)

with open(filename, "w") as file:
    file.writelines(lines)


Пользователь

от olen.shanahan , 2 года назад

@ian.heidenreich 

Вы можете удалить строку из файла, используя следующие шаги:

  1. Откройте файл для чтения и записи.
  2. Прочитайте все строки файла в список.
  3. Удалите строку, которую вы хотите удалить, из списка.
  4. Запишите обновленный список обратно в файл.


Вот пример кода, который делает это:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Открываем файл для чтения и записи
with open("file.txt", "r+") as file:
    # Читаем все строки из файла
    lines = file.readlines()
    # Удаляем строку с индексом 2
    del lines[2]
    # Перемещаем указатель в начало файла
    file.seek(0)
    # Очищаем файл (удаляем все содержимое)
    file.truncate()
    # Записываем обновленный список обратно в файл
    file.writelines(lines)


Обратите внимание, что этот код удаляет только одну строку из файла. Если вы хотите удалить несколько строк, вам может понадобитьс