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