I am trying to change a some lines in a text file without affecting the other lines. This is what's inside the text file called "text.txt"
this is a test1|number1
this is a test2|number2
this is a test3|number2
this is a test4|number3
this is a test5|number3
this is a test6|number4
this is a test7|number5
this is a test8|number5
this is a test9|number5
this is a test10|number5
My objective is to change the line 4 and line 5 but keep the rest same.
mylist1=[]
for lines in open('test','r'):
a=lines.split('|')
b=a[1].strip()
if b== 'number3':
mylist1.append('{}|{} \n'.format('this is replacement','number7'))
else:
mylist1.append('{}|{} \n'.format(a[0],a[1].strip()))
myfile=open('test','w')
myfile.writelines(mylist1)
Even though the code works, I am wondering if there is any better and efficient way to do it? Is it possible to read the file just by line number?