Что мой текстЗамена строки в файле в Python
$ TITLE = XXXX YYYY
1 $ SUBTITLE = XXXX YYYY ANSA
2 $ LABEL = первая метка
3 $ ПЕРЕМЕЩЕНИЯ
4 $ MAGNITUDE-ФАЗА ВЫХОДА
5 $ подслучай ID = 30411
Что я хочу
$ TITLE = XXXX YYYY
1 $ ПОДЗАГОЛОВОК = XXXX YYYY АНС
2 $ ЗАГОЛОВКА = новая этикетка
3 $ ПЕРЕМЕЩЕНИЯ
4 $ ВЕЛИЧИНЫ-ФАЗА ВЫХОД
5 $ подслучай ID = 30411
код, я использую
import re
fo=open("test5.txt", "r+")
num_lines = sum(1 for line in open('test5.txt'))
count=1
while (count <= num_lines):
line1=fo.readline()
j= line1[17 : 72]
j1=re.findall('\d+', j)
k=map(int,j1)
if (k==[30411]):
count1=count-4
line2=fo.readlines()[count1]
r1=line2[10:72]
r11=str(r1)
r2="new label"
r22=str(r2)
newdata = line2.replace(r11,r22)
f1 = open("output7.txt",'a')
lines=f1.writelines(newdata)
else:
f1 = open("output7.txt",'a')
lines=f1.writelines(line1)
count=count+1
Проблема заключается в написании строки. После поиска 30411 и затем он должен вернуться на 3 строки и сменить метку на новую. Новый выходной текст должен иметь все строки, как и раньше, кроме строки метки. Но он не пишет правильно. Может ли кто-нибудь помочь?
Ли строка буквально говорит '2 $ LABEL' или является' $ LABEL' прокси-сервером для всего, что находится в файле? –
Это, скорее всего, буквально. Это какой-то файл управления выходными данными FEM. Но ОП пытается отправиться из Лондона в Нью-Йорк через Южную Африку. –
Проблема в том, что после поиска subase..it должен написать новый ярлык три строки назад. Выход, который у меня есть, записывает его в том же месте, то есть в последней строке. Кажется, я не думаю о другом подходе. –