後續嘗試的檔案迭代問題
使用 for 循環迭代檔案在 Python 中廣泛用於逐行處理資料。然而,當嘗試多次迭代同一個檔案時,會出現一個有趣的問題。
當嘗試第二次迭代開啟的文件時,儘管成功讀取了整個文件, readlines() 方法也不會產生任何輸出在初始迭代中。要解決此問題,必須關閉檔案並重新開啟它,或使用 f.seek(0) 重設檔案指標。
理解此行為需要認識到初始 readlines() 操作會讀取整個檔案進入記憶體。這意味著當嘗試第二次迭代時,由於檔案指標已到達末尾,因此不再需要讀取資料。
要避免此類限制,請考慮使用 with 語法,它會自動處理文件關閉。以下修改可確保正確的迭代:
with open('baby1990.html', 'rU') as f: for line in f: print(line)
此方法可確保區塊完成時自動關閉文件,從而允許多次成功迭代,而無需手動關閉和重新開啟。
以上是為什麼我的 Python 檔案迭代在後續嘗試中失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!