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

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

от otha_marks , в категории: Python , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от jeremy_larkin , 2 года назад

@otha_marks Вы можете использовать код ниже как пример, который как раз удаляет первую строку из файла в Python:


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

with open(filename, 'r') as file:
    lines = file.readlines()
    if len(lines) > 0:
        rows = lines[1:]
    else:
        rows = []

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


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

от brooklyn , 2 года назад

@otha_marks 

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


Ниже приведен пример кода, который удаляет первую строку из файла "input.txt" и сохраняет остальной контент в файл "output.txt":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
with open("input.txt", "r") as input_file, open("output.txt", "w") as output_file:
    # Пропустить первую строку
    input_file.readline()

    # Записать все остальные строки в выходной файл
    for line in input_file:
        output_file.write(line)

# Удалить старый файл
os.remove("input.txt")

# Переименовать новый файл так, чтобы он стал старым
os.rename("output.txt", "input.txt")


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