我有一個30000行文本文件,需要使用Python進行修改。我想要做的是以下幾點:Python在條件爲大文本文件的隨機位置插入一行
有具有關鍵字1以下某個設備名稱的文件中的特定關鍵字1。我需要在所有行識別關鍵字1和檢索所有設備的名稱,然後將它們存儲在一個列表供以後使用
我已使用正則表達式
有一次我的設備名稱列表來實現這一點,我需要在文件的一系列特定位置插入帶有「固定格式+設備名稱」的換行符以下關鍵字2
這是我遇到問題的地方。
最初我使用了簡單的計數方法。我在整個文件中找到了
pattern.search(line)
,一旦識別出keyword1,就通過計算i + 5來定位插入位置,其中i是識別關鍵字1的行的索引。但是,事實證明文件中的行順序很重要,所以我只需要在關鍵字2所在的行之後插入新行。更麻煩的是關鍵字2存在於文件的任何地方。只有那些需要考慮關鍵字1之後7行內的關鍵字2。
舉個例子:
This is a random line with KEYWORD2 <--- this keyword2 is not considered
This is a random line
This is a random line
This is a random line, KEYBOARD1 "DEVICE NAME" <--- id keyword1 and record DEVICE
This is a random line
This is a random line
This is a random line
This is a random line
This is a random line with KEYWORD2 <--- this keyword2 is considered
任何建議表示讚賞。在此先感謝
他們是什麼樣的設備? – tomasz
迄今爲止編寫的代碼通常對您的問題回答良好有幫助。如果可以的話,請提供它 - 您可能只需要做一些小改動! –
它們只是電路元件的設備名稱 – Steven