У вас может быть переменная, которая сохраняет все строки, которые вы прочитали с момента последнего STARTINGWORK
.Когда вы закончите обработку файла, вы получите именно то, что вам нужно.
Конечно, вам не нужно сначала читать все строки списка.Вы можете прочитать это непосредственно в открытом файле, и это возвращает одну строку за раз.то есть:
result = []
with open(file) as f:
for line in f:
if line.startswith("STARTINGWORK"):
result = [] # Delete what would have accumulated
result.append(line) # Add the last line read
print("".join(result))
В result
у вас есть все после последнего ЗАПУСКА, включительно вы можете оставить result [1:]
, если хотите удалить начальные STARTINGWORK
- Тогда в коде:
#list
result = []
#function
def appendlines(line, result, word):
if linea.startswith(word):
del result[:]
result.append(line)
return line, result
with open(file, "r") as lines:
for line in lines:
appendlines(line, result, "STARTINGWORK")
new_result = [line.rstrip("\n") for line in result[1:]]