python自學之文件

python中的文件操作很簡單、很直接,相比於java、c++中要簡單。

python中的文件是文件對象,或者類文件對象。什麼是類文件對象?其實就是實現了文件對象的read和write等方法的類的實例。


好了,繼續採用問答形式展開本文。

1. 如何打開文件?

   很簡單,利用下面的語句

   f = open(‘1.txt’,‘w',1)

   open函數包含三個參數,分別是:

   文件名(字符串形式,注意絕對路徑與相對路徑問題)

   打開的模式

   緩衝區大小

第二和第三個參數可省略,默認打開模式爲r(只讀模式)。


2.有哪些打開模式?

   這些打開模式基本上c++中一樣一樣的~

   r,只讀模式,打開的文件必須是存在的,如果不存在會報錯,打印一個IOError異常

   w,只寫模式,打開的文件可以不存在,但是注意,如果打開的文件是存在的,那麼文件的內容會被清空。

   a,追加模式,這種模式下,打開文件後,會將當前文件操作位置置於最後位置的下一個位置,然後只允許寫入。注意這種模式不要求打開的文件是存在的,如果存在也不會    清空其中的內容。

   b, 二進制模式打開。

   r+,可讀寫模式, 要求打開的文件必須存在。

   w+,可讀寫模式,參看w模式,其實就是比w模式多了個可寫入的功能。

   a+,可讀寫的追加。

   還有rb+、wb+、ab+模式。


3. 如何讀、寫文件?

    文件對象或類文件對象都提供了相關的文件讀寫方法,如下

    f.read([size]),讀size個字節大小的數據,如果沒有指定size,會讀完整個文件。

    f.readline([size]),讀取當前行內容,包括換行符,指定size則讀入size個字節的內容

    f.readlines(),逐行讀取文件內容,返回一個列表,每個元素是文件的某行內容

    f.write(str),把字符串str寫入文件

    f.writelines(lst),與f.readlines()相反

  
4. 文件如何關閉?

   文件的關閉非常重要,在文件關閉時會清理相關的資源,並將緩衝區中的內容寫入磁盤等io終端設備。

   f.close()即可關閉文件。爲了保證文件關閉,即使發生異常,我們也要在程序崩潰等情況前將文件關閉,可以利用try/finally結構。


5. 如何在任意的位置讀、寫文件?

    對文件隨機訪問的支持非常重要。

    文件對象內部維護一個文件操作“指針”,指向下一個將要讀、寫的位置。

    f.tell(),輸出當前操作位置,相對於文件開始位置。

    f. seek(offset[,whence]),移動指針,offset表示偏移量(就是移動幾個位置),whence表示移動時的“參考”,1表示相對於當前位置,2相對於文件結束位置,默認爲0,表示相對於文件開始位置


6. 其他注意的地方

    在測試r+,w+模式時,發現python中文件可讀可寫時,也只有一個文件操作“指針”!

   另外,在使用可讀可寫模式時,一定得注意是否存在緩衝區及其大小,否則很容易出現意外的錯誤。

 





發佈了58 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章