跳到大文字檔案中的特定行
在處理大量文字檔案時,經常會遇到需要直接跳轉的情況到特定的行。一種簡單的方法涉及迭代讀取文件,但如果您提前知道目標行號,這可能會效率低下。
問題:
使用程式碼片段提供:
startFromLine = 141978 urlsfile = open(filename, "rb", 0) linesCounter = 1 for line in urlsfile: if linesCounter > startFromLine: DoSomethingWithThisLine(line) linesCounter += 1
此程式碼逐行讀取文件,需要處理所有前面的行,即使它們不相關。
更有效率的解決方案:
要有效地跳到特定行,您可以使用兩步驟方法:
建立偏移清單:
尋找目標行:
這是一個例子:
line_offset = [] offset = 0 for line in file: line_offset.append(offset) offset += len(line) file.seek(0) target_line = 141978 file.seek(line_offset[target_line])
這種方法允許您直接跳到所需的行,避免處理不相關行的不必要的開銷。
以上是如何有效率地跳到大型文字檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!