首頁 >後端開發 >Python教學 >為什麼多次迭代 Python 檔案會失敗,如何修復?

為什麼多次迭代 Python 檔案會失敗,如何修復?

Susan Sarandon
Susan Sarandon原創
2024-11-28 19:46:16294瀏覽

Why Does Iterating Over a Python File Multiple Times Fail, and How Can I Fix It?

多次迭代檔案

在Python 中,使用readlines() 迭代檔案將整個檔案讀取到記憶體中並將其儲存作為行列表。當您再次迭代檔案時,Python 已經到達檔案末尾,因此沒有任何內容可供讀取。

正常行為

是的,這是正常行為除非您重置迭代,否則多次迭代檔案都會失敗。這是因為Python的檔案IO是順序操作的,在第一次迭代時從檔案的開頭移動到結尾。

重置迭代

重置迭代並再次讀取文件,你有兩個選擇:

  1. 使用f .seek(0): 此方法可讓您將檔案遊標重設到檔案的開頭。
  2. 關閉並重新開啟檔案:關閉檔案 (f.seek(0)):
  3. 此方法可讓您將檔案遊標重設為檔案的開頭。 close()),然後使用'r' 模式重新開啟它(用於閱讀)將從頭開始迭代

使用with語句

更方便的方法是使用with語句,它在退出程式碼區塊時自動關閉檔案。這允許您重複迭代文件,而無需明確關閉並重新打開它:
with open('baby1990.html', 'rU') as f:
    for line in f:
        print(line)

透過使用with 語句,您可以多次執行程式碼區塊並每次讀取文件,而不必擔心重置迭代。

以上是為什麼多次迭代 Python 檔案會失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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