天天看點

Python之檔案處理

Python檔案處理:簡單了解就是對檔案互動的處理過程,主要包含RW過程。

目前目錄下建立檔案:

 f=file('aa.txt','w')##第一個檔案名,一個是打開f模式,模式主要有rwa#

r模式:直接讀取已經必須要存在的檔案,不存在話 報錯IOerror

w模式:會直接建立一個新的檔案,若存在直接覆寫舊檔案

a追加模式,不會覆寫原來檔案

##預設不寫是r模式

###對檔案進行寫入操作

    f=file('aa.txt','w')

    f.write('Python')

此時若沒關閉檔案,還在記憶體,但還沒真正的寫入檔案,有兩種方式進行落盤操作

   1、f.flush()

   2、f.close()

若檔案關閉後是無法進行對它再次的操作,需要再次打開才可以。

##讀取檔案内容:

f=file('aa.txt','r')

f.read()##直接讀取全部的内容,以字元串形式,再次讀的話,顯示為空

###注意,在操作檔案時候,W模式不能進行R操作

###若要一行行讀用

f.readline()

###使用read讀取到檔案末尾,指針跳到最後一行,傳回第幾行,檢視指針所在位置:

f.tell()###指針位置

f.seek(0)##移動指針位置

f.readline()###即可實作一行行的字元串顯示,一次讀到記憶體中,若檔案大,需要做重複判斷,處理大檔案用xreadlines(),效率高

f.readlines()###把字元串變成清單的方式顯示出來,一次讀到記憶體中,a.split('\n')也是轉換成清單

f.truncate(N)#字元串切割,按比特來計算。

f.writelines()##清單寫入檔案

    ###f=file('aa.txt','w')

        msg = ['write date\n','to 3.txt\n','finish\n']

                f.writelines(msg)##此方式隻要是字元即可不能為int

f.xreadlines()###疊代的讀一次讀取一行,f.readlines()一次讀取全部内容。

##檔案的追加模式:r+ 即可實作讀寫模式,會直接覆寫指針所在的行資料。

wb、rb##轉換成2進制模式,處理WINDOWS和LINUX檔案互動處理 (dos2unix)

###周遊檔案内容用for循環

##檔案内容替換:

    import fileinput

    for line in fileinput.input("filepath",inplace=1):##backuu='.bak' 備份原檔案

        line=line.replace("oldtext","newtext")

        print line,###不寫print是不會寫入檔案的

本文轉自 DBAspace 51CTO部落格,原文連結:http://blog.51cto.com/dbaspace/1872461