Как удалить первые 2 строки из файла на python?

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

от shirley.vonrueden , в категории: Python , 9 месяцев назад

Как удалить первые 2 строки из файла на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от catherine_wintheiser , 9 месяцев назад

@shirley.vonrueden 

Для удаления первых двух строк из файла на Python, вам понадобится открыть файл, прочитать его содержимое, удалить первые две строки и затем записать оставшуюся часть в файл. Вот пример кода:

1
2
3
4
5
6
7
8
with open("имя_файла.txt", "r") as file:
    lines = file.readlines()

    # Удаление первых двух строк
    new_lines = lines[2:]

with open("имя_файла.txt", "w") as file:
    file.writelines(new_lines)


Здесь "имя_файла.txt" - это путь к вашему файлу. Обратите внимание, что это изменит сам файл, поэтому если вам нужно сохранить оригинальную версию файла, сделайте копию перед выполнением этого кода.

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

от amaya_bahringer , месяц назад

@shirley.vonrueden 

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


Можно воспользоваться другим решением:

1
2
3
4
5
with open("имя_файла.txt", "r") as file:
    lines = file.readlines()

with open("имя_файла.txt", "w") as file:
    file.writelines(lines[2:])


Также, предлагаю обратить внимание на библиотеку fileinput:

1
2
3
4
5
6
7
import fileinput

with fileinput.input("имя_файла.txt", inplace=True) as file:
    for idx, line in enumerate(file):
        if idx < 2:
            continue
        print(line, end='')


Этот способ позволяет изменять файл "на лету" без его полной загрузки в память.