我想從txt輸出文件中提取特定的行。我感興趣的幾行是上面的幾行,在我用來搜索結果的key_string下面有幾行。每個結果的關鍵字符串都是相同的。Python:通過唯一索引引用列表中的每個重複項目
fi = open('Inputfile.txt')
fo = open('Outputfile.txt', 'a')
lines = fi.readlines()
filtered_list=[]
for item in lines:
if item.startswith("key string"):
filtered_list.append(lines[lines.index(item)-2])
filtered_list.append(lines[lines.index(item)+6])
filtered_list.append(lines[lines.index(item)+10])
filtered_list.append(lines[lines.index(item)+11])
fo.writelines(filtered_list)
fi.close()
fo.close()
輸出文件包含第一條記錄的正確行數,但是對於每個可用記錄都乘以。我如何更新索引,以便可以讀取每條記錄?我試圖找到解決方案,但作爲新手程序員,我努力使用枚舉()函數或集合包。
謝謝Ryszard!這正是我正在尋找的。問題是提取的數據只是輸出文件中記錄數量重複的第一條記錄。這是由於python'list.index'方法有一些限制。在python 3.6文檔的'list.index'方法描述下面:「返回的索引是相對於整個序列的開始而不是起始參數計算的。」 – Bart