Я пытаюсь найти «AAXX» и добавить слово «Hello» двумя строками выше:
Input:
111
222
AAXX
333
444
AAXX
555
666
AAXX
Output:
Hello
111
222
AAXX
Hello
333
444
AAXX
Hello
555
666
AAXX
Мне удалось вставить только одну «Hello» двумя строками перед первым «AAXX».используя приведенный ниже код, но я не могу сделать так, чтобы он просматривал файл и делал то же самое для всех совпадений «AAXX».
import os
with open(os.path.expanduser("~/Desktop/test.txt"), "r+") as f:
a = [x.rstrip() for x in f]
for i, item in enumerate(a):
if item.startswith("AAXX"):
a.insert(i-2,"Hello")
break
index += 1
# Go to start of file and clear it
f.seek(0)
f.truncate()
# Write each line back
for line in a:
f.write(line + "\n")
Пока я получаю:
Hello
111
222
AAXX
333
444
AAXX
555
666
AAXX