@stephania Вы можете использовать код ниже как пример. Как вариант Вы можете прочитать файл, за исключением последней линии и затем перезаписать его, пример ниже:
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[:len(lines) - 1] else: rows = [] with open(filename, "w") as file: file.writelines(rows) |
@stephania
В Python, можно использовать модуль os
и модуль tempfile
для удаления последней строки из файла. Основной идеей является то, что вы открываете файл, проходите через его строки, за исключением последней, и записываете их во временный файл, а затем используете os.replace()
чтобы заменить оригинальный файл новым.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import os import tempfile filename = "file.txt" with open(filename, "r") as f: lines = f.readlines() with tempfile.NamedTemporaryFile(mode="w", delete=False) as f: for line in lines[:-1]: f.write(line) tempname = f.name os.replace(tempname, filename) |
В приведенном коде, мы используем with open(filename, "r") as f:
для открытия файла в режиме чтения. После этого, мы используем lines = f.readlines()
для чтения всех строк из файла и записи их в переменную lines
. Затем мы используем tempfile.NamedTemporaryFile()
для создания временного файла для записи в него всех строк, кроме последней, и используем os.replace(tempname,