首頁 >後端開發 >Python教學 >Python 如何有效率地計算超大檔案中的行數?

Python 如何有效率地計算超大檔案中的行數?

Susan Sarandon
Susan Sarandon原創
2024-12-14 01:07:11861瀏覽

How Can Python Efficiently Count Lines in Very Large Files?

使用 Python 對大檔案進行高效行計數

確定大檔案的行數對於各種應用程式至關重要。雖然使用 for 循環的傳統方法可能非常耗時且佔用大量內存,但 Python 提供了一種最佳化的解決方案。

簡潔高效的行計數

以下程式碼片段展示了一種單行方法行計數,優於問題中提出的循環方法:

num_lines = sum(1 for _ in open('myfile.txt'))

此程式碼利用Python 的生成器表達式,它會迭代檔案中的每一行,而不將所有行保存在記憶體中。 sum(1 for _ in ...) 結構計算行數。

效能增強

為了進一步優化速度並提高魯棒性,請考慮以下增強:

  • 以二進位模式讀取: rb 模式可確保高效率讀取二進位資料檔。
  • 使用 with 區塊: with 區塊會自動關閉檔案句柄,確保正確清理。

具有以下增強功能的更新程式碼片段:

with open("myfile.txt", "rb") as f:
    num_lines = sum(1 for _ in f)

注意

Python 中已棄用的rbU 模式3.3及更高版本,使用rb代替。此模式在 Python 3.11 中被刪除。

以上是Python 如何有效率地計算超大檔案中的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn