我正在嘗試更改文本文件中的某些行而不影響其他行。這是所謂「的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
我的目標是改變行4和第5行,但保持休息一樣。
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)
即使代碼正常工作,我想知道是否有更好的和有效的方法來做到這一點?是否可以通過行號讀取文件?
你不能寫在任意位置「中的線」,但如果你想知道在讀取當前行號時,可以使用'enumerate',如'in for index,enumerate中的行(open('test','r')):'。如果你真的想通過數字而不是位置來識別線條,這可能會有所幫助。順便說一句:像你這樣寫'for __lines__'會引起誤解 - 你每次在循環中得到的是一個__single__行。 – kampu