Python入門教程之檔案讀寫操作知識

千鋒武漢發表於2021-05-24

  Python是隨著人工智慧時代的來臨而火爆起來的程式語言,入門簡單、功能強大,吸引了人們的廣泛學習加入。想要學好Python,一定要從基礎學起,然後進階深入學習,今天千鋒小編就給大家分享 Python培訓 入門教程中檔案處理的讀、寫操作。

  注意,在Python中,不需要匯入外部庫來讀取和寫入檔案,因為Python為建立、寫入和讀取檔案提供了內建的函式。

  讀檔案

  開啟一個檔案用open()方法(open()返回一個檔案物件,它是可迭代的):

  >>> f = open('test.txt', 'r')

  r表示是文字檔案,rb是二進位制檔案(這個mode引數預設值就是r)。如果檔案不存在,open()函式就會丟擲一個IOError的錯誤,並且給出錯誤碼和詳細的資訊告訴你檔案不存在。

  檔案使用完畢後必須關閉,因為檔案物件會佔用作業系統的資源,並且作業系統同一時間能開啟的檔案數量也是有限的。

  >>> f.close()

  由於檔案讀寫時都有可能產生IOError,一旦出錯,後面的f.close()就不會呼叫。所以為了保證無論是否出錯都能正確地關閉檔案,我們可以使用try ... finally來實現。

  Python檔案物件提供了三個“讀”方法: read()、readline() 和readlines()。每種方法可以接受一個變數以限制每次讀取的資料量。

  read() 每次讀取整個檔案,它通常用於將檔案內容放到一個字串變數中。如果檔案大於可用記憶體,為了保險起見,可以反覆呼叫read(size)方法,每次最多讀取size個位元組的內容。

  readlines() 之間的差異是後者一次讀取整個檔案,像.read() 一樣。.readlines() 自動將檔案內容分析成一個行的列表,該列表可以由 Python的for ... in ...結構進行處理。

  readline() 每次只讀取一行,通常比readlines() 慢得多。僅當沒有足夠記憶體可以一次讀取整個檔案時,才應該使用readline()。

圖片6

  寫檔案

  寫檔案和讀檔案是一樣的,唯一區別是呼叫open()函式時,傳入識別符號'w'或者'wb'表示寫文字檔案或寫二進位制檔案:

  >>> f = open('test.txt', 'w') # 若是'wb'就表示寫二進位制檔案

  >>> f.write('Hello, world!')

  >>> f.close()

  我們可以反覆呼叫write()來寫入檔案,但是務必要呼叫f.close()來關閉檔案。忘記呼叫close()的後果是資料可能只寫了一部分到磁碟,剩下的丟失了。因此還是用with語句來得保險:

  with open('test.txt', 'w') as f:

  f.write('Hello, world!')

  Python檔案物件提供了兩個“寫”方法:write()和writelines()。

  write()方法和read()、readline()方法對應,是將字串寫入到檔案中。

  writelines()方法和readlines()方法對應,也是針對列表的操作。它接收一個字串列表作為引數,將他們寫入到檔案中,換行符不會自動的加入,因此,需要顯式的加入換行符。

  檔案處理的型別:

  只要處理型別加上b(bytes),表示只這樣操作(一般不知道寫入編碼的時候用);

  'r'(讀) :讀取出來的內容為字串型別;

  'rb'(只讀):以二進位制的方式讀取;

  ’r+‘(可讀寫):以讀的方式開啟,支援寫入;

  'w'(寫入) :建立新內容,覆蓋舊內容;

  'w+’(寫讀):以建立的模式開啟,支援讀取;

  讀寫和寫讀指標都會停在最後(讀寫,不可讀取剛寫內容,寫讀:可以讀取剛寫的內容)。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2773599/,如需轉載,請註明出處,否則將追究法律責任。

相關文章