1. 程式人生 > 實用技巧 >python開啟檔案方式

python開啟檔案方式

python中的open()函式用於開啟一個檔案,建立file物件,相關方法才可以呼叫它進行讀寫

語法:open(name,[,model[,buffering]])

模式描述
r 以只讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
rb 以二進位制格式開啟一個檔案用於只讀。檔案指標將會放在檔案的開頭。這是預設模式。
r+ 開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。
rb+ 以二進位制格式開啟一個檔案用於讀寫。檔案指標將會放在檔案的開頭。
w 開啟一個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
wb 以二進位制格式開啟一個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
w+ 開啟一個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
wb+ 以二進位制格式開啟一個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。
a 開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
ab 以二進位制格式開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
a+ 開啟一個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
ab+ 以二進位制格式開啟一個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

1.讀檔案

如果檔案開啟成功,則顯示開啟檔案ex15_sample.txt的內容

最後一步呼叫close()方法關閉檔案,使用檔案完畢後必須關閉檔案。因為檔案物件會佔用作業系統資源,且作業系統同時開啟檔案數量有限

由於檔案讀寫會產生IO error ,如果報錯會導致後面的close()無法執行,所以為了保證是否出錯都能正確關閉檔案,可以使用try-finally 來實現

(ps:注意try-finally中的縮排問題)

2.使用with open函式開啟,以及常見的坑

#with作用就是呼叫close()方法

跟前面的try-finally實現功能一樣,但是程式碼更簡潔

file物件方法

  • file.read(size):size未指定則返回整個檔案,如果檔案大小>2倍記憶體則有問題.f.read()讀到檔案尾時返回""(即空字串)。
  • file.readline():每次讀取一行
  • file.readlines([size]):一次性讀取所有內容並返回list
  • for line in f:print(line) :通過迭代器訪問
  • f.write("hello\n"):如果要寫入字串以外的資料,先將他轉換為字串
  • f.tell():返回一個整數,表示當前檔案指標的位置(檔案頭的位元組數)

  • 如果檔案小,用read()一次性讀取最方便,不確定大小建議用read(size)比較保險,如果是配置檔案使用readlines()最方便。

1.開啟非utf-8編碼的檔案

f=open('/users/wujing/desktop/test2020/ex15_sample.txt','r',encoding='gbk')
f.read()

  2.開啟二進位制檔案

讀取二進位制檔案,比如圖片、視訊等,用rb模式開啟即可

參考資料:https://blog.csdn.net/chenmozhe22/article/details/81434549