最佳化大型文字檔案中的跳行
在尋找特定行時,逐行處理大量文字檔案可能效率低下。提供的程式碼迭代 15MB 檔案的每一行以達到所需的行號,忽略了所需行可能位於檔案中更早的位置這一事實。
另一種方法
要解決此問題,請考慮採用利用線路偏移的最佳化技術。這涉及讀取整個檔案一次以建構一個包含每行起始偏移量的清單。
實作
<code class="python">line_offset = [] # List to store line offsets offset = 0 # Current offset # Loop through each line in the file for line in file: line_offset.append(offset) # Store the current line offset offset += len(line) # Update the offset for the next line file.seek(0) # Reset the file pointer to the beginning</code>
用法
要跳到特定行(n),只需找出對應的偏>
<code class="python">line_number = n file.seek(line_offset[line_number])</code>要跳到特定行(n),只需找出對應的偏移量:此方法無需處理所有中間行,從而顯著提高大檔案的效能。
以上是行偏移如何優化大型文字檔案中的跳行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!