我正在嘗試掃描輸入文件並打印出以某個字符串開頭的部分行。該文本文件是10000多行,但我只關心起始行,更具體地說是該行內的數據。澄清,這裏有兩行代碼解釋了我想說的。打印出以兩個不同的字符串輸出開頭的行嗎?
inst "N69" "IOB",placed BIOB_X11Y0 R8 ,
inst "n0975" "SLICEX",placed CLEXL_X20Y5 SLICE_X32Y5 ,
這裏是我得到迄今代碼:
searchfile = open("C:\PATH\TO\FILE.txt","r")
for line in searchfile:
if "inst " in line:
print line
searchfile.close()
現在,這是巨大的,如果我在尋找與「出師表」開始的所有行,但我專門找以「inst」N「」或「inst」n「」開頭的行。從那裏,我想只提取以N或n開頭的字符串。
我的想法是首先將這些行(如上所示)提取到一個新的.txt文件,然後運行另一個腳本以僅獲取具有N或n的行的部分。在上面的例子中,我只關心N69和n0975。有沒有更簡單的方法來做到這一點?
爲什麼你覺得你需要兩個腳本和一箇中間文件?你可以在第二個腳本中做任何事情,你可以在第一個腳本中執行(在if中)。 – jasonharper
抱歉@jasonharper我的Python知識有點生疏,想不到另一種方法。不要讓我開始對我的正則表達式完全缺乏瞭解... –