今天是鐵人賽的第二十一天,我深入練習了檔案處理的細節,並開始將這些知識應用到更複雜的實際問題中。
-1文件模式的靈活運用:
我練習了不同的文件模式,像 'r'(讀取)、'w'(寫入)和 'a'(追加),當使用 'w' 模式時,如果文件已經存在,內容會被覆蓋;而用 'a' 模式時,新內容則會被添加到文件的最後一行,
-2大文件的處理:
我特別針對大文件進行了練習,發現一次性讀取整個文件會佔用大量內存,特別是當文件非常大時,容易導致內存不足,為了解決這個問題,我使用for迴圈逐行讀取文件,這樣既能有效處理數據,又不會佔用過多內存。
舉例:
with open('large_data.txt', 'r') as file:
for line in file:
//處理每一行數據
print(line.strip())
-3文件指針的操作:
如果需要重新從頭開始讀取文件,可以通過 file.seek(0) 將指針重置到文件開頭。
-4異常處理與健壯性:
我使用try-except結構來防止程序因文件不存在或無法讀取等問題而崩潰。
舉例:
try:
with open('missing_file.txt', 'r') as file:
content = file.read()
except FileNotFoundError:
print("文件不存在,請確認路徑")